2016年4月22日 星期五

救回錯誤commit, git revert的功能和用法 以及反revert的方法


使用git revert "hash of commit"  可以送出一個新的commit,內容是反運算了該指定的commit內容"

可用來救回錯誤commit的版本 , 且不會和協作者的歷史紀錄有衝突

然後就可以再次push

參考資料
https://ruby-china.org/topics/11637





如果要revert merge 要看git log的merge項底下有兩個parent tree hash位置

要給 -m 參數    git revert "hash of the merge" -m 1  ,是退回到log中該merge下第一個顯示的hash, 2則是第二個

參考資料
http://stackoverflow.com/questions/7099833/how-to-revert-a-merge-commit-thats-already-pushed-to-remote-branch




反revert的方式,
git cherry-pick <original commit sha>
可以重新在送一次之前那個commit的運算

或是revert要反revert的那次revert commit,但這樣log檔案會很難看.

http://stackoverflow.com/questions/8728093/how-do-i-un-revert-a-reverted-git-commit

沒有留言:

張貼留言