git revert 與 git gui (gitk) 抵銷提交

本篇 ShengYu 來介紹 git revert commit,中文叫抵銷提交?撤銷提交?逆向提交?這個翻譯我一直不知道哪個比較能確切表達,哈哈!也許抵銷提交比較接近 git revert 的意思吧!git revert 用途是把某一筆的改動給抵銷,只不過這個抵銷的方式是用一筆commit來達成,

怎麼用 git revert 指令?

假設今天的 commit 如下,總共有四筆,最上面為最新的一筆 commit 12348

1
2
3
4
5
6
7
8
commit 12348
我是最新的一筆
commit 12347
我是第三筆
commit 12346
我是第二筆
commit 12345
我是第一筆

那我想要抵銷提交 git revert commit 12347 也就是第三筆的話,要怎麼做呢?

1
$ git revert 12347

結果就會產生新的一筆 commit 12349 是專門來抵銷 commit 12347 的更動

1
2
3
4
5
6
7
8
9
10
commit 12349
Revert "我是第三筆"
commit 12348
我是最新的一筆
commit 12347
我是第三筆
commit 12346
我是第二筆
commit 12345
我是第一筆

那怎麼把剛剛這筆 commit 12349 砍掉呢?就用我們之前學過的 git reset 來砍掉前一筆 commit,

1
$ git reset HEAD^ --hard

怎麼用 git gui (gitk) 來 revert?

待續…