Github-Help: Syncing a Fork处的文档显示了三条命令,可以让我的GitHub fork与上游仓库保持同步。
git fetch upstream
git checkout master
git merge upstream/master
我可以使用以下两个命令而不是上述三个命令吗?
git checkout master
git pull upstream/master
这两组命令是等价的,还是它们之间存在差异?
答案 0 :(得分:0)
这些命令集不等效。
git pull
分为两个命令:
git fetch
git merge
问题是,git fetch需要远程引用,而git merge需要跟踪引用,这就是Github帮助页面的原因:
git fetch upstream
但它有
git merge upstream/master
merge命令将采用upstream/master
分支并将其合并到当前检出的分支(在本例中为“master”)。但是fetch命令在分支上不起作用,它需要一个遥控器,所以当你尝试:
git pull upstream/master
Git将其拆分为:
git fetch upstream/master
git merge upstream/master
将在fetch上失败:
$ git pull upstream/master fatal: 'upstream/master' does not appear to be a git repository fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.