致命:refspec的远程部分不是.git / refs / heads / master中的有效名称:.git / refs / remotes / origin / master

时间:2011-09-06 07:28:49

标签: git

我知道使用git push origin master会更容易,但如果我这样做:

git push origin .git/refs/heads/master:.git/refs/remotes/origin/master 

我明白了:

  

致命:refspec的远程部分不是.git / refs / heads / master中的有效名称:.git / refs / remotes / origin / master

为什么这不起作用?

我只是想跟随:

git push [remotename] [localbranch]:[remotebranch]

1 个答案:

答案 0 :(得分:4)

Refspecs不是相对路径名,“绝对”refspecs只是以refs/开头。你想要推动的最“绝对”的版本是:

git push origin refs/heads/master:refs/remotes/origin/master

但是, 等同于git push origin master。这样做是为了更新遥控器的远程跟踪分支origin/master,以便它可能或可能不会反映其远程origin实际所在的位置。

相当于git push origin master将是:

git push origin refs/heads/master:refs/heads/master