可能重複:
Git - Create a branch with current changes將創建一個Git分支刪除我的本地修改
我已經做了我的項目一大堆工作,我意識到應該在另一個已經完成科。如果我現在創建一個分支,我的當前更改是否需要簽入,或者在創建新分支時將它們擦除?我對GIT很陌生,只是想避免犯一個新手的錯誤。
可能重複:
Git - Create a branch with current changes將創建一個Git分支刪除我的本地修改
我已經做了我的項目一大堆工作,我意識到應該在另一個已經完成科。如果我現在創建一個分支,我的當前更改是否需要簽入,或者在創建新分支時將它們擦除?我對GIT很陌生,只是想避免犯一個新手的錯誤。
如果創建當前磁頭使用一個新的分支:
$ git checkout -b newbranchname
然後更改將不會被覆蓋。
非常正確,只要OP尚未對錯誤的分支提交任何更改。要理解的重要一點是分支僅僅是一個指向提交的指針,所以當你這樣做時,你所做的只是創建一個指向當前提交的新指針並檢出它 - 但由於它是相同的提交,它根本不需要觸摸你的工作樹。 – Cascabel 2011-01-29 15:40:55
他們將被移動到新的分支。但是如果你覺得不安全,你可以先備份當地的項目目錄。
在你的情況,bdonlan的答案適用,因爲創建一個新的分支不會觸及工作目錄。
在更一般的情況下,如果您嘗試切換仍然存在工作目錄更改的分支,Git會警告您並中止。無論哪種方式,最好不要失去變化。
在這種情況下,移動未提交的工作目錄更改爲一個新的分支,首先將它保存到Git的藏匿處:
git stash save
然後創建和檢查分支:
git checkout -b new-branch-name
然後彈出您的工作目錄從Git存儲更改:
git stash pop
相關:http://stackoverflow.com/questions/389962 7/git-create-a-branch-with-current-changes – Dogbert 2011-01-29 10:15:12
你是否已將更改提交到當前分支,或者他們只是躺在工作副本中? – 2011-01-29 13:34:57
這些更改只是放在我的工作副本中。 – Nippysaurus 2011-01-30 02:33:32