2014-02-08 66 views
1

我想克隆一個分支,進行更改並推入同一分支。git推分支src refspec不匹配任何

我這樣做:

mkdir myfolder 
cd myfolder 
git init 
git clone "myurl" -b "mybranch" 
git remote add origin "myurl" 
edit "myfile.txt" 
git add "myfile.txt" 
git commit -m "my comment" 
git push origin "mybranch" 

,但我得到這個錯誤:

error: src refspec "mybranch" does not match any 
error: failed to push some refs to "myurl" 

我該怎麼辦?

+0

(HTTP的可能的複製[在混帳推提交時,SRC的Refspec主不符合任何]://計算器.com/questions/4181861/src-refspec-master-does-not-match-any-when-pushing-commitits-in-git) – 2014-06-06 04:41:23

回答

7

您可以明確的指定你推其遠程分支:

git push origin myBranch:existing_remote_branch

其實看來你執行許多過度的步驟和一般工作流程要簡單得多。此外,它的價值來檢查Configure a local branch for push to specific branch

更新:

假定Git是比較現代的,我會去如下:

git clone "$myurl" "$myfolder" 
cd "$myfolder" 
git checkout "$mybranch" 
git remote set-head origin "$mybranch" 
... add and commit your changes here ... 
git push origin "$mybranch" 

我想問,爲什麼您創建不同的git倉庫,一個在「$ myfolder」中,另一個在「$ myfolder/< project_name>」中?那是預期的行爲? (我可以想像情況下,當它可能是有用的,但他們是「角的情況下」,充其量)

+0

所以,如果我克隆一個分支,它似乎在我的本地存儲庫中在主人。我應該做'git push origin master:mybranch',對嗎?什麼是更簡單的工作流程? – John

+0

你好,這是一個很好的觀點,非常感謝你以正確的方式指導我。我會看看並讓你知道。 現在非常感謝。 – John

+0

好,非常感謝! – John

相關問題