2017-05-25 139 views
0

我想了解爲什麼我無法通過創建具有有效引用的遠程分支,如head^或SHA。在git中,爲什麼本地分支需要創建一個遠程分支?

git push origin SHA:test 
git push origin head^:test 

這些命令都失敗:

error: unable to push to unqualified destination: test 
The destination refspec neither matches an existing ref on the remote nor 
begins with refs/, and we are unable to guess a prefix based on the source ref. 
error: failed to push some refs to 'remote' 

這迫使我創建並立即刪除本地分支,這似乎傻

git branch tmp head^ 
git push origin tmp:test 
git branch -D tmp 

是否有更簡單的方法來做到這個?


請注意,如果origin/test已存在,前兩個命令是成功的。

回答

2
git push origin SHA:refs/heads/test 

將在原點遠程創建test分支。 (您也可以通過URL或路徑名指定遠程,因爲在這裏您不需要默認值)。

分支參考是開始的參考refs/heads。標記參考是開始refs/tags的參考。遠程跟蹤參考開始refs/remotes/remote。所以當你說git push origin SHA:test,沒有一個例子從git工作就不得不只是簡單的猜測。

相關問題