我使用的唯一的工作流程是讓新的分支,並保留編輯
branch -> (write code -> commit)*n -> merge
我犯了一個錯誤,雖然,我現在
master -> write code
我怕如果我
... -> branch
我將失去我的編輯,這是不穩定的。
是真是假?
我使用的唯一的工作流程是讓新的分支,並保留編輯
branch -> (write code -> commit)*n -> merge
我犯了一個錯誤,雖然,我現在
master -> write code
我怕如果我
... -> branch
我將失去我的編輯,這是不穩定的。
是真是假?
每當你害怕失去改變,提交它們。 (一旦你做了一個承諾,混帳永遠不會忘記。如果你不提交混帳不知道的更改並不能幫助你。)
在你的情況簡單地做這樣的事情git checkout -b mybranch
應該罰款。
另一種方式是git commit
,git branch mybranch
,git reset --hard HEAD^
。
首先(正如我在開始時所寫)承諾一切都很重要。其次爲當前分支提供正確的名稱。第三次重置主人到它所屬的地方。 (如果你是唯一一個承諾HEAD^
是好的。如果你已經定義了一些上游@{u}
也將是罰款)。
如果你不能完全確定是怎麼回事,看看gitk --all
。這應該很好地形象化發生了什麼。
如果您切換到一個新的分支,工作副本將不會受到影響,所以你可以做
git checkout -b anewbranch
,然後添加並提交任何你喜歡的。
一般來說,如果您的工作副本中有未覆蓋的更改,Git根本不允許您切換到分支。在這種情況下,您可以臨時存儲工作副本,檢出分支並最終恢復。
git stash
git checkout anotherbranch
git stash pop
只要您切換到的分支是新的並且沒有任何上游更改,您將不會丟失編輯。 – Eimantas
另外,看看'git stash'命令http://git-scm.com/book/en/Git-Tools-Stashing – Chris
@Eimantas so,git branch new,git checkout new,git commit will work? – Zackkenyon