GIT如何回滾遠端庫程式碼
阿新 • • 發佈:2021-01-30
技術標籤: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},直接回到剛才的那個結點,{}中表示的是結點的序號