我一直在寻找互联网,无法找到它的作用:
git push origin master:refs/heads/master
与普通人有什么区别:
git push origin master
感谢。
答案 0 :(得分:6)
在v1.5.5.2之前的git版本中,这些命令之间存在重要差异。如果该分支尚不存在,则需要在refspec的目标端使用ref的全名。 (更改此行为的提交有an interesting description of the change。)
在当前版本的git中,两者之间没有区别,只要master
在目标存储库中是明确的 - 这几乎总是如此,除非你做了一些刻意混淆的事情,比如创建一个标签叫master
。执行git push origin master
时,git会尝试将master
解释为refspec。由于此refspec没有:
分隔源和目标引用,它默认假设您的意思是:
git push origin master:master
...并且那些不完整的引用名称在两端都扩展为refs/heads/master
(同样,只要master
在源和目标存储库中都是明确的。)
答案 1 :(得分:3)
没有区别。一个是另一个更冗长的版本。
master:refs/head/master
说要将您的本地master
推送到遥控器refs/head/master
有关详细信息,请查看this页面的最后一部分。