作為一次最新的提交
* git revert head 撤銷前一次 commit
* git revert head^ 撤銷前前一次 commit
* git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤銷指定的版本,撤銷也會作為一次提交進行儲存。
git revert是提交乙個新的版本,將需要revert的版本的內容再反向修改回去,
版本會遞增,不影響之前提交的內容
git revert 和 git reset的區別
1. git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit。
2. 在回滾這一操作上看,效果差不多。但是在日後繼續merge以前的老版本時有區別。因為git revert是用一次逆向的commit「中和」之前的提交,因此日後合併老的branch時,導致這部分改變不會再次出現,但是git reset是之間把某些commit在某個branch上刪除,因而和老的branch再次merge時,這些被回滾的commit應該還會被引入。
3. git reset 是把head向後移動了一下,而git revert是head繼續前進,只是新的commit的內容和要revert的內容正好相反,能夠抵消要被revert的內容。
個人建議盡量使用git reset,否則,使用了git revert,當你再想merge回那筆提交的時候,就發現不行了。當然如果你很確定不需要那筆merge,那也可以使用git revert。
作為一次最新的提交
* git revert head 撤銷前一次 commit
* git revert head^ 撤銷前前一次 commit
* git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤銷指定的版本,撤銷也會作為一次提交進行儲存。
git revert是提交乙個新的版本,將需要revert的版本的內容再反向修改回去,
版本會遞增,不影響之前提交的內容
git revert 和 git reset的區別
1. git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit。
2. 在回滾這一操作上看,效果差不多。但是在日後繼續merge以前的老版本時有區別。因為git revert是用一次逆向的commit「中和」之前的提交,因此日後合併老的branch時,導致這部分改變不會再次出現,但是git reset是之間把某些commit在某個branch上刪除,因而和老的branch再次merge時,這些被回滾的commit應該還會被引入。
3. git reset 是把head向後移動了一下,而git revert是head繼續前進,只是新的commit的內容和要revert的內容正好相反,能夠抵消要被revert的內容。
個人建議盡量使用git reset,否則,使用了git revert,當你再想merge回那筆提交的時候,就發現不行了。當然如果你很確定不需要那筆merge,那也可以使用git revert。
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...