1. 程式人生 > >git之回退

git之回退

提交 mit 本地 targe pull 自動 區別 revert eset

1:本地已commit,未push到遠程倉庫

1)git log: 查看commit日誌,獲取commit的id

2) git reset --hard commit_id: commit_id就是你要回退到版本的commit id

2: 只屬於自己的分支,已push到遠程倉庫

1)git log: 查看commit日誌,獲取commit的id

2) git reset --hard commit_id: commit_id就是你要回退到版本的commit id

3) git push -f: 強制push到遠程分支

3:屬於公共的分支,已push到遠程倉庫

git revert: 該命令會撤銷某次提交,雖然回退了,但會產生一次新的提交,版本是向前的,所以當其他人pull下來後就會自動的回退了

【1】git revert HEAD: 撤銷最近一次提交

【2】git revert HEAD~1: 撤銷最近兩次的提交,數字從0開始(如果已撤銷過,產生了新的commit_id,那麽也會把這個commit_id也計算在內)

【3】git revert commit_id: 撤銷commit_id這一次的提交

當使用git revert HEAD~1方式回退時,會產生沖突,解決沖突只需要把當前最新的代碼去掉,保留之前的代碼,然後push到遠程就可以了

git reset與git revert的區別:

git reset: 不會產生新的提交,把HEAD往後移

git revert: 會產生新的提交,把HEAD往前移

參考文章: https://blog.csdn.net/fuchaosz/article/details/52170105

git之回退