您的位置首页  散文评论

git push -f(git push -f 恢复)一看就会

此方法通过git push -f来强制修改remote server上的提交记录,尽管有些人使用这种方法来重写commit,借以达到美化comm

git push -f(git push -f 恢复)一看就会

 

什么?你刚刚push完代码又后悔了?假设你正在使用git,你刚刚提交了一处代码变更,然而你很快意识到刚刚提交的代码中有点问题,如果你使用了诸如Jenkins一类的集成发布工具,并且构建任务是绑定在你所push的分支的,那么你就需要快速来解决这个问题,让该分支快速恢复到可用的状态,你可以使用以下几种办法来应对:

1. 在其他人pull之前,你快速解决掉这个问题这个方法只适用于那些可以快速找到原因并解决的问题,比如环境参数配置错误等等,但是如果你发现问题并不能很快定位,自然你也就无法很快解决,那么如果有其他人下载了你的代码,他们自然会收到影响。

2. 使用revert命令来恢复remote server的分支此命令的本质是git以一次新的commit来自动回滚上一次的commit,这种方法是目前最安全的方法,具体方法如下:git revert xxxxxxxxx

提示:你可以通过git log来查看你最近的提交记录其中 xxxxxxxxx 代表你希望回滚的 commit ,注意这个 commit 是你要回滚(或撤销)的 commit ,不是它的上一次(parent)commit

.提示:你可以通过 git log 来查看你最近的提交记录3. 直接删掉最近一次提交此方法通过git push -f来强制修改remote server上的提交记录,尽管有些人使用这种方法来重写commit,借以达到美化commit记录的目的,但是我的建议是,在任何情况下都不要使用此命令来重写提交记录,因为这会使得同时参与协作的其他开发者的代码产生混乱,会造成很多不可预知的危险。

总结如果你确信自己已找到了问题的原因并且可以很快解决,那么你可以采用第一种方法;如果你短时间内无法修复问题,那么你可以选择第二种方法来快速回滚;第三种方法在任何情况下都不建议使用,不论你有何种理由

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186