300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > git 代码回滚_能提交到远程的Git回滚

git 代码回滚_能提交到远程的Git回滚

时间:2023-09-03 00:10:09

相关推荐

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推送给远程就不再会被拒绝了,最终终于实现了除却巫山不是云。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。