如果不小心將許多文件、大量無用代碼推到了遠端分支,Git該如何回退?

先用git log或git log --pretty=oneline命令查看版本記錄:

再用git reset命令回退提交版本(我這裏是回退到上一個版本,所以沒有用commit id而是用的git reset --hard HEAD^):

回退完后再用git log查看日志,當前版本確實成了“注掉不存在的方法,解決無法修改賬戶的問題”,git 用HEAD->表示當前版本。

但是,以上的操作只是將工作區和暫存區的代碼回退了,遠程origin的大量文件還是錯誤的代碼,還沒有回退,我們下意識想到應該push上去,但是git push失敗了,因爲遠端有你回退之前的最新版本(刪除空行),git提示你push之前必須先拉取:

不要慌亂!我們可以按照提示,用git push --help命令查看一下該如何操作:

git幫我打開了官方幫助説明文檔,由於我改動代碼比較多,涉及好幾個文件,所以遠端分支要回退的不止一個文件,那我用git push --force-with-lease命令就夠了,結果看下圖:

果不其然,成功了!不信的話,我們可以看一下狀態:

綫上的最新版本也成了我剛才回退后的版本:

至此,如何回退远端分支自己错误提交的文件和代码已经完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值