赞
踩
以下管理适用于 主分支 回滚
1. 是否遇到过,好不容易写完了代码,做好了单测,一提交发现提错分支了,暗骂一句 fuck,开始百度“误提交回滚”
2. 是否遇到过,一不小心把没测过的分支合并到 master,暗骂一句 fuck ,开始备份,恢复折腾好久。
1. 只是提交错分支,未推送 remote 的情况下好办 ,在误提交分支下, git reset --soft HEAD^ 即可回滚操作,然后再切到目标分支重新提交即可
2. 如果是第2 种情况的话, 稍有点麻烦,但也不用物理回滚,跟着我的步骤操作即可:
(首先打开官网 document 备用:Git - git-revert Documentation)
假设:
分支:
master、fea-1、 fea-2
操作过程:
合并 fea-1 到 master
再合并 fea-2 到 master
tree:
此时如果想回滚掉前一次提交, 可以使用
1. git checkout master
2. git revert ak30lsjfijejskfkcjakdssfdf -m 1
3. git commit
说明下 -m 参数:
m 指代两个 parentId 当前的顺序,以上为例:
03ff2957(1) 0fa98sjei (2)
据官网描述(这时候前面打开的官网就有用了:可以验证下我这段截图对不对, 或者有没有被官方更新过):
“如果指定了 m为1, 则恢复掉相对于 1 的修改”,我们可理解为: -m 指定谁就保留谁。
小结:
所以当出现某个 revert 被提醒有两个 parent 的时候 , 则用 -m 指定希望被保留内容的 parent 序号
参考 :
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。