1. 程式人生 > 其它 >GIT如何回滾遠端庫程式碼

GIT如何回滾遠端庫程式碼

技術標籤:Android日常小技巧gitandroidjava

工作中偶爾會遇到推錯程式碼到遠端庫的問題,程式碼說下,push錯程式碼之後,如何進行回滾:

1.獲取提交日誌

git reflog

(base) [email protected] xx % git reflog
c0ecadd (HEAD -> dev, origin/dev) [email protected]{0}: commit: faet:誤提交程式碼
7407fc4 (origin/featch, featch) [email protected]{1}: checkout: moving from master to dev
b981b4e (origin/master, origin/HEAD, master) 
[email protected]
{2}: commit: fixbug 20ab847 [email protected]{3}: commit: feat:相容android10以上程序記憶體獲取 56063d7 [email protected]{4}: commit: feat:增加app執行時堆記憶體使用情況 d9272e2 [email protected]{5}: reset: moving to d9272e242dca3d8076e0b03a0af474fd6fc6add5 b6ee14c [email protected]{6}: reset: moving to b6ee14c74d439da260dab6730632dd99f5e5d945 53bf04f
[email protected]
{7}: commit: feat:測試2 b6ee14c [email protected]{8}: reset: moving to b6ee14c74d439da260dab6730632dd99f5e5d945 b6ee14c [email protected]{9}: reset: moving to b6ee14c74d439da260dab6730632dd99f5e5d945

c0ecadd 這個位置的提交是我們的錯誤提交,已經在遠端庫了,現在我們向把程式碼會滾到7407fc4這個提交,可以執行第二步

2.將原生代碼回推到指定提交的位置

git reset --hard 7407fc4

此時會推的程式碼,就是7407fc4這個我們要回滾的程式碼了

3.將程式碼提到遠端,此時要進行強制提交

git push origin master --force

此時已經提交成功,此時遠端的程式碼就是回滾成功的程式碼了,就像你從來沒提交過一樣。

4.補充:

4.1 git reset --hard,一定要用hard嗎?

這是android studio上的解釋,大家可以根據需要進行設定,不過既然是誤提交,就說名這個提交都不需要,直接使用hard就行了。

4.2 只能使用git reset --hard嗎?

還可以通過git reset --hard [email protected]{1},直接回到剛才的那個結點,{}中表示的是結點的序號