所以我在git上有兩個分支:develop
和release
。直到現在我一直在使用develop
分支。我只是提交了develop
分支,我想在release
分支中提供。我該怎麼做?我在這裏有點困惑。正確地在分支之間切換
1)是否當我做 git checkout -b release
2)要切換回develop
分支,我可以做一個結帳這個自動發生的,對不對?還是我需要做一個合併?
所以我在git上有兩個分支:develop
和release
。直到現在我一直在使用develop
分支。我只是提交了develop
分支,我想在release
分支中提供。我該怎麼做?我在這裏有點困惑。正確地在分支之間切換
1)是否當我做 git checkout -b release
2)要切換回develop
分支,我可以做一個結帳這個自動發生的,對不對?還是我需要做一個合併?
您有幾個選項可以讓一個分支上的提交可用於另一個分支 - 您選擇哪一個取決於您希望以後如何查看歷史記錄。
release
分支有兩個父提交:的develop
尖端和release
前尖。 release
然後將具有從develop
和release
的所有工作。要合併develop
到release
,請確保您有乾淨的工作副本,並運行git checkout release
,然後運行git merge develop
。develop
在release
之上。 Cherry-picking在release
上創建了一個新的提交,它執行您提交的名稱所做的確切更改。如果你在develop
上完成了一大堆工作,這很有用,但你只需要帶上一兩件事情。要挑選,請查看git log
,複製名稱爲所需提交的sha散列,然後運行git checkout release
,然後運行git cherry-pick <commit hash>
。要回答你的後續問題:
都能跟得上! git checkout
的一般用途是使你的工作副本看起來像一個你名字爲的東西。當您運行git checkout release
時,git會將工作副本中的實際文件更改爲上次提交到release
的狀態。結帳不會更改現有分支。 (另外,你不需要-b
如果release
已經存在; checkout -b
是一個方便的快捷方式創建並一次性檢出一個分支)
按照同樣的思路,切換回,所有你需要再做git checkout develop
。
感謝您的詳細解釋!很有幫助:) – rgamber