2017-07-27 33 views
0

我正在一個分支上工作,突然間我必須切換到另一個分支來修復緊急錯誤。問題是我對當前分支所做的更改仍然很混亂,我不想承諾並留下一些精心設計的提交消息。如何切換並保存沒有提交git?

有什麼辦法可以保存當前更改而無需提交?

+1

[存儲](https://git-scm.com/docs/git-stash) – litelite

回答

1

是的,你可以使用藏匿。

git stash 

它會保存在一個特殊的區域中的任何未提交的東西,你可以把它找回來以後使用

git stash apply 

你可以看到什麼是在藏匿與

git stash list 
2

藏匿明顯作品。我只是想提出,它也是一個可行的,如果沒有更好的,選項,只是承諾凡你所得到的,其原因如下:

  1. 藏匿從當前分支,指數分開存放,並工作空間,並且不太明顯。除非你打算解決另一個問題並迅速切換回來,否則在一段時間之後會很容易混淆隱藏狀態。
  2. 只要您不推送提交,在您的環境中提交更改不會影響任何人或任何其他人。稍後您可以在完成該功能後重新組織提交。與隱藏相比,它所屬功能分支上的提交更容易管理。
+0

你可以設置你的'git log'命令來顯示存儲。對我來說,它們以與提交類似的方式出現(作爲圖中的一個節點,並且將祖先提交爲父代)。關於你的第二點,這取決於你的工作流程,有些人更喜歡只提交具有非常描述性信息的小提交,其他人(比如我自己)喜歡工作,但我們覺得當時最有效率,並壓縮提交「虛假「讓其他人消化容易的歷史。對於遵循第一種方法的人來說,可能很容易做出凌亂的提交,然後他們會忘記。 – instantepiphany

+0

...這是隱藏的東西有助於避免。我認爲不同的人使用不同的git特性,而且它支持很多工作流程。 – instantepiphany

+1

@instantepiphany那裏沒有任何爭論。這真的歸結爲個人風格和情況。 – jingx