0
篇帖子
不小心把一些错误代码提交到仓库了。 如果每个人直接更新的话,会导致错误代码也更新到本地了。
这个时候想要避免这种情况的发生,唯一可以做的就是将那些错误代码直接覆盖掉。
git push -f origin master
git push -f
这个命令的作用是将自己本地仓库的代码直接推送至仓库,完全以你的提交为准,之前其他人的提交都会被覆盖。
那么这么可怕的命令,究竟在什么情况下才适用呢?
使用时机 有两种情况下适合使用这个命令:
1.确定需要覆覆盖提交,就像上面的那种情况,在明确部分提交会导致异常时,可以使用新的提交去覆盖。
2.需要整理历史提交记录时,有时候项目的 Commit Logs
可能比较乱,不能清晰的看出每一次提交的作用,可以使用 rebase 命令来清理历史提交记录。因为改变了历史,所以正常来说是 push不成功的,所以需要使用 force push
来解决这个问题。
万一自己的代码被覆盖掉了,还救得回来吗?
其实也是有办法的,那就是换你或是其它有之前提交的同事,再次进行 git push -f
,将正确的内容强制提交上去,覆盖上一次git push -f
所造成的灾难。
本博客内所有原创和翻译的文章的版权归本人所有,允许第三方转载,但转载时请务必保留作者名,并注明出处链接,否则本人将保留追究其法律责任的权利。
「人生在世,留句话给我吧」