天天看點

git revert 用法

git revert 撤銷

某次操作,此次操作之前和之後的commit和history都會保留,并且把這次撤銷

作為一次最新的送出

    *

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的内容。