2013-11-24 83 views
0

我使用的唯一的工作流程是讓新的分支,並保留編輯

branch -> (write code -> commit)*n -> merge 

我犯了一個錯誤,雖然,我現在

master -> write code 

我怕如果我

... -> branch 

我將失去我的編輯,這是不穩定的。

是真是假?

+0

只要您切換到的分支是新的並且沒有任何上游更改,您將不會丟失編輯。 – Eimantas

+2

另外,看看'git stash'命令http://git-scm.com/book/en/Git-Tools-Stashing – Chris

+0

@Eimantas so,git branch new,git checkout new,git commit will work? – Zackkenyon

回答

1

每當你害怕失去改變,提交它們。 (一旦你做了一個承諾,混帳永遠不會忘記。如果你不提交混帳不知道的更改並不能幫助你。)

在你的情況簡單地做這樣的事情git checkout -b mybranch應該罰款。

另一種方式是git commit,git branch mybranch,git reset --hard HEAD^

首先(正如我在開始時所寫)承諾一切都很重要。其次爲當前分支提供正確的名稱。第三次重置主人到它所屬的地方。 (如果你是唯一一個承諾HEAD^是好的。如果你已經定義了一些上游@{u}也將是罰款)​​。

如果你不能完全確定是怎麼回事,看看gitk --all。這應該很好地形象化發生了什麼。

0

如果您切換到一個新的分支,工作副本將不會受到影響,所以你可以做

git checkout -b anewbranch 

,然後添加並提交任何你喜歡的。

一般來說,如果您的工作副本中有未覆蓋的更改,Git根本不允許您切換到分支。在這種情況下,您可以臨時存儲工作副本,檢出分支並最終恢復。

git stash 
git checkout anotherbranch 
git stash pop 
相關問題