我需要向那些必须审查PR的人们展示我修复的冲突。 有没有办法让git在文本文件中导出所有冲突?
我需要的是带有" cat"的文本文件。合并后包含冲突的所有文件
答案 0 :(得分:2)
你也可以使用这个:
git diff --name-only --diff-filter=U | xargs awk '/<<<<< HEAD/,/>>>>>>/'
这会从文件中删除冲突(如果冲突区域以<<<<< HEAD
开头并以>>>>>>
结尾),这样您就可以将它们转储到新文件中 - 如果原始文件很大而且您只是需要显示冲突。
答案 1 :(得分:1)
“出口......所有冲突”是什么意思?
您的意思是冲突文件列表吗?
然后使用git status --short
(简洁)或git status
并将其输出传输到文件(git status >/tmp/conflicts.txt
)。
你的意思是补丁集与你为修复冲突所做的工作有关吗?
然后记录一个或多个修复冲突的提交(可能在临时分支上),然后使用git format-patch <base_commit>..<current_tip>
。
你的意思是文件是否带有嵌入式冲突标记?
然后从git status
中识别此类文件,并将其从工作树中复制。
答案 2 :(得分:1)
使用git diff --name-only --diff-filter=U
的组合列出包含未合并冲突的文件和cat
:
你应该得到类似的东西:
git diff --name-only --diff-filter=U | xargs cat
要将所有内容都放在文件中,只需重定向输出:
git diff --name-only --diff-filter=U | xargs cat > conflicts.diff
或者只是压缩文件
git diff --name-only --diff-filter=U | xargs zip -r9 conflicts.zip