git 代码回滚_能提交到远程的Git回滚
生活随笔
收集整理的這篇文章主要介紹了
git 代码回滚_能提交到远程的Git回滚
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
很多情況下我們需要回滾代碼,最容易想到的就是git reset。但是git reset有個弱點,它是一個徹底的回滾,不能再提交給遠程了,因為在提交記錄里回滾點之后的記錄都不見了。
做一下試驗,一個文件我們提交了三次之后回滾
#往前回滾兩次的提交回滾完成之后用git log命令查看發現只有第一次提交的記錄了,這個時候如果推送到遠程,遠程git庫肯定是拒絕的,因為此時它已經擁有了第三次的提交,畢竟曾經滄海難為水。如果擁有force權限,也可以霸王硬上弓,使用
git push -f來強制覆蓋,但大多數情況下開發者沒有權限同時也不推薦這么做。
這個時候git revert就要上場了。它和reset的區別在于,它會新生成一個提交,它的方向是向前,而git reset的方向是向后。
嘗試往前回滾一個commit
git revert HEAD會直接彈出編輯提交信息的vi,同時內容直接更新
查看git log,可以看到多出來一個提交記錄了
也可以使用提交的hash,回到的是這個hash的提交之前的狀態
git revert 64c0提示有沖突,其實就是根據之前的提交里的文件內容與當前的文件內容做了一次merge,當然就是有沖突了
解決沖突后即可提交,現在這個本地git推送給遠程就不再會被拒絕了,最終終于實現了除卻巫山不是云。
總結
以上是生活随笔為你收集整理的git 代码回滚_能提交到远程的Git回滚的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首款骁龙8+小屏旗舰 小米12S曝光
- 下一篇: 分析30万人数据后 科学家:个子越高越易