git revert是撤銷某次操作,此次操作之前的commit都會被保留
git reset是撤銷某次提交,但是此次之後的修改都會被退回到暫存區
具體乙個例子,假設有三個commit, git st:
commit3: add test3.c
commit2: add test2.c
commit1: add test1.c
當執行git reverthead~1時,commit2被撤銷了
git log可以看到:
commit1:add test1.c
commit3:add test3.c
git status沒有任何變化
如果換做執行git reset --soft(預設)head~1後,執行git log
commit2: add test2.c
commit1: add test1.c
執行git status, 則test3.c處於暫存區,準備提交。
如果換做執行git reset --hard head~1後,
顯示:head is now at commit2,執行git log
commit2: add test2.c
commit1: add test1.c
執行git st, 沒有任何變化
另外:git revert 是撤消該commit,作為乙個新的commit。
Git revert使用和例子
撤銷前一次 commit git revert head 撤銷前前一次 commit git revert head 撤回指定commit id 比如 git revert 0818badf6882ea2664a205bc8ef3a85425bb2537 git revert commit idre...
git revert和git reset的區別
原文 git revert 是生成乙個新的提交來撤銷某次提交,此次提交之前的commit都會被保留 git reset 是回到某次提交,提交及之前的commit都會被保留,但是此次之後的修改都會被退回到暫存區 具體乙個例子,假設有三個commit,git st commit3 add test3.c...
git revert和git reset的區別
git revert 是撤銷某次操作,此次操作之前的commit都會被保留 git reset 是撤銷某次提交,但是此次之後的修改都會被退回到暫存區 具體乙個例子,假設有三個commit,git st commit3 add test3.c commit2 add test2.c commit1 a...