我有3筆提交
這3筆的 commit id分別是
commit xxx1
提交的commit log1
commit xxx2
提交的commit log2
commit xxx3
提交的commit log3
xxx1 xxx2 xxx3 代表 提交時生成的那串commit id
現在 我發現 commit log2 這個 提交信息我要改下
做如下操作
首先要git log
記錄下xxx3,待會要用
然後checkout 到第二筆提交:
git checkout xxx2
然後去改提交log:
git commit --amend
進入編輯模式
修改log爲:第二筆提交被我修改了
然後ctrl+x ,Y ,回車 保存修改信息
然後再把最新的代碼cherry-pick過來
git cherry-pick xxx3
git log
最後的結果就是
commit xxx1
提交的commit log1
commit xxx2
第二筆提交被我修改了
commit xxx3
提交的commit log3
由於工作關係沒法貼詳細的git操作圖. 有疑問可以留言
如果想重新提交這次修改的內容,可以先把指針指向前一次提交的位置
git reset HEAD^ 這樣代碼都還保留,只是文件的狀態改成了提交之前的狀態
忽略提交某個文件夾下的文件
git update-index --assume-unchanged 目錄/*.jpg 等等
git commit --amend 的新理解,這個命令可以重複提交,比如這筆提交給服務器,審覈的大佬說,提交代碼有問題
那麼可以在本地先改好問題代碼,
然後,git add 修改的文件
然後直接git commit --amend
這樣就合併提交到最近一筆提交記錄了.
然後 git push 遠端服務器
這樣就不會出現重複提交的問題