繁体   English   中英

在git中使用多个遥控器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM