版本回退有兩個命令git reset 和 git revert,現在想回退到版本庫的某一版,在本地執行了 git reset commitID,回退成功,但是git pull后,代碼又變為當前版本了,并沒有回退成功,求怎么將版本庫的代碼也回退
2 回答

一只萌萌小番薯
TA貢獻1795條經驗 獲得超7個贊
$ git reset --hard HEAD^(表示回退到上一個版本)
然后git log 查看提交記錄,一直溯源
$ git reset --hard xxxx(某某版本號)
不過,有個記錄神器 $ git reflog,記錄了很多版本提交記錄
現在總結一下:
HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。

慕仙森
TA貢獻1827條經驗 獲得超8個贊
因為在本地使用git reset
之后,相當于本地比線上的版本低,所以需要pull
再push
,然而pull
之后又把最新的拉下來了,所以陷入了一個循環中,因此你可以使用git revert
,這個命令會在你本地新建一個提交記錄,這樣你就可以正常push
上去了。
當然,你也可以在本地使用了git reset
命令之后,推送的時候嘗試使用git push --force
,但是需要說明的是,第二種方式我沒有試過,也不太建議使用。
不知道是否對你有幫助。
- 2 回答
- 0 關注
- 1660 瀏覽
添加回答
舉報
0/150
提交
取消