2012-06-28 83 views
1

其實我不確定,所以我每次都跟着git修改方法。這是不錯的做法嗎?如果不是爲什麼git修改不好?我用git reset --soft HEAD ^來保存我的狀態,然後做了提交。那麼每次如果我想提交,我應該使用git reset --soft HEAD ^?

+0

**爲什麼**你這樣做?你認爲這是完成了什麼?你爲什麼不做一個'git commit'?你爲什麼要「每次都做」?在每次提交之前,通過使用'git reset ...'你並不清楚你認爲自己獲得了什麼。 – meagar

回答

6

不,使用git commit --amend不是一個很好的習慣「每次」。它將您當前的更改與先前提交的更改合併。你將會得到一個單一的大規模提交和沒有提交歷史的事情。你應該做很多細小的改變,這樣你才能真正追蹤功能的發展和錯誤的引入。

使用git reset --soft HEAD^實際上或多或少是相同的:您將分支指針移動到前一個提交,但保持工作目錄狀態不變,然後使用您所引入的所有更改進行一次大型提交。

每次提交時都使用這兩個命令會讓您收到一個包含您的整個項目的提交日期。這樣做絕對沒有理由,而且這是使用版本控制的完全錯誤的方式。

2
git reset --soft HEAD^ 

將有效剛剛送回風的狀態之前上次提交,但在指數留下您的改變(因爲如果你做了一個git的添加,但還不是一個git的承諾)

唐每次都會修改你最後一次提交的內容。您想要將更改保存爲有意義的更改集。

+0

'git reset --soft HEAD ^'和'git reset --soft HEAD〜'是**相同的事情**。 'HEAD〜'和'HEAD ^'是同義詞。 – meagar

+0

mmm,而不是posh-git,似乎posh-git不喜歡插入符號,只是忽略它(因此它什麼也沒有),我不知道這是PowerShell問題還是posh-git問題。 –

+0

我會編輯我的帖子來解決這個問題。 –

相關問題