我正在努力了解如何让我的fork的主人更新原始回购(我从中分叉)主人。
我读了两份文件:
这两个文件都提供了或多或少的步骤:
git fetch upstream
git checkout master
git merge upstream/master
这三个步骤可以安全地减少到:
git checkout master
git pull upstream/master
答案 0 :(得分:0)
我刚刚在本地进行了测试,似乎工作正常。
git checkout master
git pull upstream master
这将从master
指定的存储库中提取upstream
分支,并将其与您当前的分支合并。如果有任何冲突,系统将提示您手动解决。
我目前无法想到两步版本会导致任何问题的任何情况,只要您遵循永不提交到分叉存储库的master
分支的良好做法。它非常方便,与三步版本完全相同。
对于最后一个问题,我恐怕没有(或有条件)。在将master
合并到工作树之前,您需要切换到upstream/master
分支,否则会导致其他问题。条件是当您始终在分支master
上并且从不对其进行任何提交时,您可以省略checkout
步骤。
答案 1 :(得分:0)
正如iBug指出的那样,没有一个命令来更新你的分支,但你可以创建一个别名:
[alias]
update = !git rev-parse --verify refs/heads/$1 && git checkout $1 -- && git pull origin $1
现在,如果您git update master
它将切换到master
分支,并将origin/master
拉入您的分支。