在help.github's Forking a project上的引入上游更改部分,它声明:
一段时间过去了,上游回购已更改,您希望在提交新修补程序之前更新fork。有两种方法可以做到这一点:
$ git fetch upstream master
$ git merge upstream/master
为什么在fetch命令中包含master
?我查看了git help fetch
信息,但我不理解包含master
的内容。感谢。
答案 0 :(得分:6)
这可以让你:
然后git merge
将尝试将上游主服务器的本地版本合并到您的repo主分支。
所以在这里,对于fetch
命令,master是refspec。
<refspec>
<refspec>
参数的格式是可选加+,后跟源引用<src>
,后跟冒号:,后跟目标引用<dst>
。获取与
<src>
匹配的远程引用,如果<dst>
不是空字符串,则使用<src>
快速转发与其匹配的本地引用。
如果使用了可选的加号+
,则即使本地引用不会导致快进更新,也会更新本地引用。
此处,<dst>
为空,因此匹配的本地分支(您的主人)会更新。
没有主人,那就是:
git fetch upstream
上述命令从远程
refs/heads/
命名空间复制所有分支,并将它们存储到本地refs/remotes/upstream/
命名空间,除非使用branch.<name>.fetch
选项指定非默认的refspec。 / p>