天天看點

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

本文轉自demoblog部落格園部落格,原文連結http://www.cnblogs.com/0616--ataozhijia/p/3709917.html如需轉載請自行聯系原作者

demoblog