记一次git merge 事故

  最近发生在自己身上的一件矬事儿,一不小心把matser上别人的代码给冲掉了,事后追溯了下原因。

  1、准备三个分支,分别从master拉取 realease/v1.0分支 和 realease/bugfix 分支,再从realease/v1.0 分支拉取feature分支,如下:

  2、切换到realease/bugfix分支,分别对其中两个文件进行修改,并且commit push 两次

  3、将realease/bugfix分支合并到 master 

  4、将master 合并到 realease/v1.0上,此时realease/v1.0代码和release/bugfix分支是一致的。

  5、修改feature/v1/0 中的DemoController文件,commit push

  6、将master 合并到feature/v1.0上,此时会提示冲突,解决冲突后,此时feature/v1.0会有一些待commit的合并文件,而此时我又天真的revert了一下,恢复到feature/v1.0第一次提交后的状态

  7、继续修改其它文件,完成feature/v1.0的第二次commit ,然后push

  8、将远程feature/1.0的代码往realease/1.0合并,因为两者都刚刚把master往本分支合过代码,所以不会冲突,此时realeas/v1.0分支的代码已经和feature/1.0保持一直

  9、而后realease/1.0开发完成,将realease/1.0的代码合并到mater,同样此时也不会冲突,最后master中的代码顺利变成了跟feature/1.0一致,而整个merge过程中并无冲突,所以我也没察觉到已经将release/bugfix上的代码冲掉。

猜你喜欢

转载自www.cnblogs.com/hhhshct/p/11962191.html