github基於一個正在review的分支創建新分支

github是一個強大的代碼版本管理軟件,目前絕大多數的開源軟件都是放在github上管理,例如Linux,OpenStack等等。

最近通過github向OpenStack提交patch,有個問題一直困擾我。提交bug fix的原則應該是一個bug一個patch,這樣對於reviewer來說看起來比較容易,之前因爲一些原因將許多問題揉在一起提交,連我都看不下去了,更何況別人,最後果然沒通過。因此,如果同時要提交多個bug fix,並且修改的是同一個文件,那麼第一個patch提交後還沒review通過,要提交第二個patch,這個patch要依賴於第一個,該怎麼辦?

走了許多彎路後今天弄明白了,提交了第一個patch後,該patch有一個路徑,可以在review的網頁網上看到,

git fetch https://review.openstack.org/openstack/nova refs/changes/16/10816/9 && git checkout FETCH_HEAD
在github中輸入上面的命令,有的版本會報錯,不支持“&&”符號,該符號的意思是“並且”,也就是繼續執行。如果報錯,則將上面的命令分開,先輸入:
git fetch https://review.openstack.org/openstack/nova refs/changes/16/10816/9
再輸入:
git checkout FETCH_HEAD
這樣就進入了一個叫做“detached HEAD”的狀態,然後可以創建自己的分支,現在所創建的分支就是依賴之前已經創建好的分支,這樣最後分支的合入纔不會覆蓋前面的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章