轻松解决rebase冲突

3
当我从我的功能分支执行git pull --rebase时,我会在许多我从未编辑过的文件中遇到冲突。为了摆脱这些冲突,我会针对每个有冲突的文件执行以下一组命令。
git checkout --ours .

git add .

git rebase --continue

让人烦恼的是我必须为每个冲突执行此操作。是否有办法使用自定义命令配置git,以便上述所有命令可以一次性执行。

类似于:

If(featureBranch_04) {
   foreach(conflicts)
      if(conflictedFile != index.jsp) {
          git checkout --ours .
          git add .
          git rebase --continue
      }
   }
}

我能在git配置中拥有类似的功能吗?

工作流程如下:首先将主分支合并到featureBranch_04,然后从featureBranch_04分支执行git pull --rebase


2
你为什么要首先执行 git pull --rebase 呢?为什么不先执行 git pull,然后再在你的分支上进行 rebase 操作呢? - Ja͢ck
1个回答

2
您可以尝试:
git fetch
git rebase -s recursive -X theirs origin/featureBranch_04

这将把合并策略“theirs”传递到变基的合并部分。

鉴于rebase颠倒了“ours/theirs”的意义,使用“-s theirs”是否正确?或者rebase会更改用户提供的参数以匹配意义交换? - torek
@torek 谢谢。已修复。我应该知道,我已经广泛地写过这个问题:https://dev59.com/K3A75IYBdhLWcg3w4tV7#3052118 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接