这里主要以 如何将一份已经写好的代码提交到两个git远端 为例, 更好地理解git remote add这句;
首先要明白一句代码的意思,以github最经常的提示为例:
在这张图面里git init, git add 和git commit 都是前期的准备, 相当于将你本地的文件都上传到了本地仓库,但是还没有像远端仓库提交;
这时执行git remote那句话,就是先将本地仓库与远端仓库建立一个链接: git remote add , 那么add什么呢? 蓝色的方框其实就是你为远端仓库所起的名字,一般都是叫origin,其实你也可以要Ceres 或者Earth,绿色方框就是你的远端仓库的真实地址;
举个栗子,假设我已经存在一个文件夹,里面存放自己的代码,里面有一个文件叫README.md已经写好, 则
git init //初始化一个git的本地仓库
git add README.md //将我的文件装上武器,准备发射
git commit -m “first commit” //第一次发射,我的README.md 宝贝已经成功进入到本地仓库
git remote add Ceres your_first_git_address //将第一个git address命名为Ceres
git push -u Ceres master //注意咯,我要向远端木星发射了,太远了,一定要用push,很费劲的赶脚
//这时,不要动,准备再次将我的README宝贝发射到火星上去,
//但是因为我的文件已经存在与本地仓库了,因此我就不需要再多余地commit等,
//只需要将另一个远端仓库与本地仓库建立一个连接就可以了
git remote add Mars your_second_git_address //将第二个git address命名为Mars
git push -u Mars master //再次发射,目标火星上的master分支
至此,就将一份代码上传到了两个远端仓库,但是注意你仍然时只有一个本地仓库哦
补充:
在用 git push -u Ceres master 时也要注意这里master是你要上传的分支名称,如果你当前所位于的分支不叫master,用这句话上传就会出错,举个例子:
这里我的当前分支是D***,可是我依然用了master,则会提示错误:
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/ns15417/RingDetectProject .git'
就是要push的分支master与当前所处的分支不匹配,
$ git show-ref
显示远端的相关分支;
修改为如下即可;
$ git push --set-upstream personal_origin D**(当前分支名)
原文链接:https://blog.csdn.net/qq_25458977/article/details/87875641