永发信息网

如何避免git merge branch

答案:2  悬赏:30  手机版
解决时间 2021-03-27 15:27
  • 提问者网友:爱了却不能说
  • 2021-03-26 14:45
如何避免git merge branch
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-03-26 16:03
git merge的冲突判定机制如下:先寻找两个commit的公共祖先,比较同一个文件分别在ours和theirs下对于公共祖先的差异,然后合并这两组差异
全部回答
  • 1楼网友:摆渡翁
  • 2021-03-26 16:35
由于太多人问怎么撤销 merge 了,于是 git 官方出了这份教程,表示在 git 现有的思想体系下怎么达到撤销 merge 的目标。方法一,reset 到 merge 前的版本,然后再重做接下来的操作,要求每个合作者都晓得怎么将本地的 HEAD 都回滚回去:$ git checkout 【行merge操作时所在的分支】$ git reset --hard 【merge前的版本号】方法二,当 merge 以后还有别的操作和改动时,git 正好也有办法能撤销 merge,用 git revert:$ git revert -m 【要撤销的那条merge线的编号,从1开始计算(怎么看哪条线是几啊?)】 【merge前的版本号】Finished one revert.[master 88edd6d] Revert "Merge branch 'jk/post-checkout'" 1 files changed, 0 insertions(+), 2 deletions(-)这样会创建新的 commit 来抵消对应的 merge 操作,而且以后 git merge 【那个编号所代表的分支】 会提示:Already up-to-date.因为使用方法二会让 git 误以为这个分支的东西都是咱们不想要的。方法三,怎么撤销方法二:$ git revert 【方法二撤销merge时提交的commit的版本号,这里是88edd6d】Finished one revert.[master 268e243] Revert "Revert "Merge branch 'jk/post-checkout'"" 1 files changed, 2 insertions(+), 0 deletions(-)这样就行了,可以正常 merge 了,不过可能会有很多冲突噢!!$ git merge jk/post-checkoutAuto-merging test.txtMerge made by recursive. test.txt 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯