Git merge --他们的所有文件,除了那些被 、 或 编辑的文件,在这种情况下,<name><name><name>我会自己修复合并冲突?



我有两个分支,主分支和上游分支,有数千个文件要合并,合并冲突的数量相等。

问题是,90%的上游("他们的"(文件是我想保留的文件。而不是"git mergetool"所有这些,有没有办法自动使用所有上游文件,除非文件已被特定人员编辑?这样,我就可以自己手动解决合并冲突,只有十几个文件。

在我看来,伪代码的工作原理如下:

git checkout master
git merge upstream --squash --all-of-theirs-except firstguy@mail.com secondguy@mail.com
git mergetool //For the remaining conflicts
git push origin master

在执行git mergetool之前,您可以从上游签出文件。 然后,您可以使用git mergetool来解决其余文件的冲突。

git merge upstream squash
git checkout upstream -- <files that you want as "theirs">
git mergetool //Resolve the remaining conflicts.

若要获取文件列表,可以使用 git log --author=<email> --name-only --oneline 并分析输出以获取列表。 或者,您可以执行git checkout -- path/to/a/directory/从特定目录中签出所有文件,而无需单独指定所有文件。

相关内容

最新更新