其實我不確定,所以我每次都跟着git修改方法。這是不錯的做法嗎?如果不是爲什麼git修改不好?我用git reset --soft HEAD ^來保存我的狀態,然後做了提交。那麼每次如果我想提交,我應該使用git reset --soft HEAD ^?
回答
不,使用git commit --amend
是不是一個很好的習慣「每次」。它將您當前的更改與先前提交的更改合併。你將會得到一個單一的大規模提交和沒有提交歷史的事情。你應該做很多細小的改變,這樣你才能真正追蹤功能的發展和錯誤的引入。
使用git reset --soft HEAD^
實際上或多或少是相同的:您將分支指針移動到前一個提交,但保持工作目錄狀態不變,然後使用您所引入的所有更改進行一次大型提交。
每次提交時都使用這兩個命令會讓您收到一個包含您的整個項目的提交日期。這樣做絕對沒有理由,而且這是使用版本控制的完全錯誤的方式。
git reset --soft HEAD^
將有效剛剛送回風的狀態之前上次提交,但在指數留下您的改變(因爲如果你做了一個git的添加,但還不是一個git的承諾)
唐每次都會修改你最後一次提交的內容。您想要將更改保存爲有意義的更改集。
'git reset --soft HEAD ^'和'git reset --soft HEAD〜'是**相同的事情**。 'HEAD〜'和'HEAD ^'是同義詞。 – meagar
mmm,而不是posh-git,似乎posh-git不喜歡插入符號,只是忽略它(因此它什麼也沒有),我不知道這是PowerShell問題還是posh-git問題。 –
我會編輯我的帖子來解決這個問題。 –
- 1. git reset --soft HEAD^
- 2. 撤銷git reset --soft〜HEAD
- 3. git fetch && git reset --soft不更新提交
- 4. 如何「git reset --soft HEAD ^」單個文件?
- 5. git reset --soft改變我的索引
- 6. 如何在我執行git reset之後恢復我的提交 - hard head?
- 7. Git reset in detached HEAD狀態
- 8. git reset --soft <commit-id>
- 9. git的復位--soft HEAD
- 10. git reset --hard HEAD
- 11. `git reset HEAD〜2`是否與運行兩次`git reset HEAD`相同?
- 12. git reset --soft並返回到最新的提交
- 13. `git reset HEAD`和`git reset HEAD〜'之間有什麼區別嗎?
- 14. 如何撤消git reset --soft以取回我的更改?
- 15. 如果從未做過提交,你可以撤銷'git reset --hard HEAD'嗎?
- 16. git rebase吃了我的提交!爲我翻譯'git reflog'輸出?
- 17. 幾個混帳會發生什麼復位--soft HEAD ^^
- 18. 「git rm --cached x」vs「git reset head -x」?
- 19. 'git reset --soft'是否爲無操作命令?
- 20. 使用git reset --soft,標記一個提交,以便以後可以壓縮*向下*
- 21. 「git reset --hard」與「git reset --hard HEAD」一樣嗎?
- 22. 如何`git reset`後'git合併 - 無提交 - 無-ff`
- 23. 如何取消`git reset --hard HEAD〜1`?
- 24. git checkout HEAD〜2 go 10提交回來
- 25. 我如何git rebase第一次提交?
- 26. 我該如何使用git提交當前的主提交?
- 27. git:在我提交了一個rebase命令後,他們提交
- 28. `git reset HEAD file`還檢出文件嗎?
- 29. GIT拉刪除了我的提交
- 30. Git:將HEAD移回到之前的提交
**爲什麼**你這樣做?你認爲這是完成了什麼?你爲什麼不做一個'git commit'?你爲什麼要「每次都做」?在每次提交之前,通過使用'git reset ...'你並不清楚你認爲自己獲得了什麼。 – meagar