我開始研究我認爲是我的主分支上的小錯誤修復。然而,它已經失去了控制,我希望自己創建了一個獨立的分支機構來完成開發工作。在當前分支上進行所有更改並將它們移動到Git中的新分支中
所以現在我希望做的是:
- 創建一個名爲(說)「邊緣」的新分支
- 前進主所有的改變/未跟蹤文件到邊(這樣主人是當我開始bug修復)
- 完成我的工作的優勢,合併到主
我怎樣才能做到這一點不變?
我開始研究我認爲是我的主分支上的小錯誤修復。然而,它已經失去了控制,我希望自己創建了一個獨立的分支機構來完成開發工作。在當前分支上進行所有更改並將它們移動到Git中的新分支中
所以現在我希望做的是:
我怎樣才能做到這一點不變?
如果你還沒有提交任何東西,你已經處於正確的位置。
git checkout -b edge
git add
什麼需要和承諾照常。edge
的承諾後,請切換回master
與git checkout
和git merge edge
。要添加到JB的答案,如果你有已經開始就掌握幾個提交什麼結束了作爲一個「邊緣」的努力,您可以:
git stash
git checkout -b edge master
git branch -f master SHA1_before_your_commits
git stash apply
藏匿包裝並非絕對必要,但僅僅針對未經授權的工作更改是正確的? – HaveAGuess 2011-10-22 15:28:27
@HaveAGuess正確。通過「採取我所有的變化」,我還包括了當前尚未添加的變更。因此,藏匿。 – VonC 2011-10-22 16:11:02
謝謝(表決) – HaveAGuess 2011-11-07 11:55:29
如果您正試圖將工作從主機移動到已存在的分支,但在主機後面,git不會讓您切換到其他分支。在這種情況下,這樣做:
git stash
git checkout oldBranch
git merge master
git checkout master
git stash apply
git checkout oldBranch
沒有犯下任何事情,讓第一線是一個可喜的景象......唷,這實際上是相當痛苦:-) – Ryan 2017-12-11 15:52:01