在git中使用多个遥控器

Zee*_*Jan 4 git github

我正在开发一个新项目,并希望从我在GitHub上找到的种子项目开始.
我已经在本地克隆了种子项目,它在执行命令时显示了1个远程分支:

git remote -v
Run Code Online (Sandbox Code Playgroud)

但是我想在这个仓库中添加一个新的遥控器并进行所有更改,或者在这个新的仓库中扩展源代码,这是一个私人仓库.

现在添加新遥控器后,我可以在回购中看到2个遥控器.

如何在2个遥控器之间切换?
我不认为git checkout在使用2个不同遥控器的2个分支时,命令会起作用.

Von*_*onC 7

如何在2个遥控器之间切换

您没有完全"切换",只需提及您要使用的遥控器的名称:

git push origin
# or
git push remote2
Run Code Online (Sandbox Code Playgroud)

这样,您可以从一个遥控器拉到另一个遥控器.

您甚至可以只使用一个遥控器(默认原点),并设置不同的推送网址:

git remote set-url --push origin user@example.com:repo.git
Run Code Online (Sandbox Code Playgroud)

我不认为git checkout在使用2个不同遥控器的2个分支时,命令会起作用.

git checkout更适合当地的分支机构.
您可以基于远程跟踪分支创建本地分支:

git checkout -b abranch remote2/abranch
Run Code Online (Sandbox Code Playgroud)

而我的另一个遥控器是我的私人遥控器,我将主要在那个遥控器上工作并进行拉动和推动.
在上游遥控器上,我只会做拉.

这是定义三角工作流程:

在此输入图像描述

您可以origin像往常一样克隆,但是从上游获取表单.

$ git remote add upstream https://github.com/atom/atom
$ git fetch upstream
Run Code Online (Sandbox Code Playgroud)

根据origin/abranch创建本地分支,但是当fetch从上游带来新的提交时,不要忘记在上游/ abranch之上重新绑定该分支.

git checkout -b abranch origin/abranch
git rebase upstream/abranch
git push --force
Run Code Online (Sandbox Code Playgroud)