2 回答

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

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
因?yàn)樵诒镜厥褂?code>git reset之后,相當(dāng)于本地比線上的版本低,所以需要pull
再push
,然而pull
之后又把最新的拉下來了,所以陷入了一個(gè)循環(huán)中,因此你可以使用git revert
,這個(gè)命令會(huì)在你本地新建一個(gè)提交記錄,這樣你就可以正常push
上去了。
當(dāng)然,你也可以在本地使用了git reset
命令之后,推送的時(shí)候嘗試使用git push --force
,但是需要說明的是,第二種方式我沒有試過,也不太建議使用。
不知道是否對你有幫助。
- 2 回答
- 0 關(guān)注
- 1669 瀏覽
添加回答
舉報(bào)