[譯]git revert


git revert

git revert用來撤銷一個已經提交了的快照. 但不是從項目歷史中移除這個commit, 而是生成一個新的commit, 老的commit還是保留在歷史項目里面的. 這樣做的好處是防止了項目丟失歷史.

 

用法

git revert <commit>

生成一個新的commit, 撤銷老的<commit>的所有修改(注意了這個<commit>之后的commit的修改還在, 你只是撤銷了這一個<commit>的修改), 老的commit在項目歷史中還是可見的.

 

討論

當你想撤銷項目中某一個完整的commit的時候可以使用revert. 

Reverting vs Resetting

git revert是撤銷某個單一的commit-revert不是通過刪除一系列的commit回到項目的某個commit之前的狀態, 而是新增一個commit.

revert比起reset來說有兩個優點. 第一, revert不會修改項目的歷史, 是一個安全的操作. 第二, git revert可以作用於項目歷史中的任意一點, git reset只能作用於當前commit之前的commit. 例如, 如果你想使用reset撤銷一個老的commit, 你將刪除這個老的commit之后的所有commit, 然后重現commit這些commit. 

 

例子

下面的例子簡單的演示了git revert的用法. 提交一個快照, 然后立即使用revert撤銷他.

# Edit some tracked files

# Commit a snapshot
git commit -m "Make some changes that will be undone"

# Revert the commit we just created
git revert HEAD

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM