[英]Working with multiple remotes in git
我正在开发一个新项目,并希望从我在GitHub上找到的种子项目开始。
我已经在本地克隆了种子项目,它在执行命令时显示了1个远程分支:
git remote -v
但是我想在这个仓库中添加一个新的遥控器并进行所有更改,或者在这个新的仓库中扩展源代码,这是一个私人仓库。
现在添加新遥控器后,我可以在回购中看到2个遥控器。
如何在2个遥控器之间切换?
我不认为在使用2个不同遥控器的2个分支时,像git checkout
这样的命令会起作用。
如何在2个遥控器之间切换
您没有完全“切换”,只需提及您要使用的遥控器的名称:
git push origin
# or
git push remote2
这样,您可以从一个遥控器拉到另一个遥控器 。
您甚至可以只使用一个遥控器(默认原点),并设置不同的推送网址:
git remote set-url --push origin user@example.com:repo.git
我不认为在使用2个不同遥控器的2个分支时,像
git checkout
这样的命令会起作用。
git checkout
更适用于本地分支机构。
您可以基于远程跟踪分支创建本地分支:
git checkout -b abranch remote2/abranch
而另一个我的起源遥控器是我的私人遥控器,我将主要处理该遥控器并进行拉动和推动。
在上游遥控器上,我只会做拉。
这是三角工作流程的定义:
您像往常一样从origin
克隆,但从上游获取表单。
$ git remote add upstream https://github.com/atom/atom
$ git fetch upstream
根据origin / abranch创建本地分支,但是当fetch从上游带来新的提交时,不要忘记在上游/ abranch之上重新绑定该分支。
git checkout -b abranch origin/abranch
git rebase upstream/abranch
git push --force
我想建立另一个专门用于跟踪入门项目的分支。
git clone -o upstream user@example.com:upstream.git
cd upstream
git branch -m upmaster
git checkout -b master
git remote add origin user@example.com:myrepo.git
git push -u origin master
现在你正常工作,从主人推拉到你的回购。
当您想要提取上游更改时,请将它们抓取到您的专用分支并重新绑定或合并到您的分支中。
git checkout upmaster
git pull
git checkout master
git rebase upmaster
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.