Git revert和Git reset的區別

2021-07-22 16:51:28 字數 409 閱讀 6511

來自網友的歸納:

git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit

git reset 是把head向後移動了一下,而git revert是head繼續前進,只是新的commit的內容和要revert的內容正好相反,能夠抵消要被revert的內容。

【最重要的一點】在回滾這一操作上看,效果差不多。

但是在日後繼續merge以前的老版本時有區別。因為git revert是用一次逆向的commit「中和」之前的提交,因此日後合併老的branch時,導致這部分改變不會再次出現,但是git reset是直接把某commit在某個branch上刪除,因而和老的branch再次merge時,這些被回滾的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...