git修改歷史內容的方法

清鍾沁桐發表於2020-10-13

1、使用git log --pretty=oneline -n3檢視歷史狀態如下,以下假設修改gcc對應的結點a7df49e
  fccc2be1c6cd8d6315bb5d0ebbcba0fc3bf4d5d0 gcc1
  a7df49e7d3b012c84c87a3ce751691ca15b406ab gcc
  efcb25e03f6441fa5f478801a58d9da84f8d691d build.sh: delete compiler-rt as build FAILED on system with i586-pc-mingw32

2、git rebase -i 到待修改結點a7df49e的前一個結點efcb25e,即git rebase -i efcb25e
   然後將gcc對應的待修改結點調整為edit

3、補充修改,可以使用git diff 看額外的修改是否符合預期

4、修改完成後使用 git commit build.sh --no-verify --amend更新,這裡假設修改檔案build.sh

5、使用git rebase --continue將恢復待修改結點後的合入,如果沒有衝突,則修改完成

相關文章