在文本文件中导出GIT中的所有冲突
我需要向那些需要审查公共关系的人展示我解决的冲突。 git有没有办法将所有冲突导出到文本文件中 我需要的是一个文本文件,其中包含合并后包含冲突的所有文件的“cat”您所说的“导出…所有冲突”是什么意思在文本文件中导出GIT中的所有冲突,git,Git,我需要向那些需要审查公共关系的人展示我解决的冲突。 git有没有办法将所有冲突导出到文本文件中 我需要的是一个文本文件,其中包含合并后包含冲突的所有文件的“cat”您所说的“导出…所有冲突”是什么意思 你的意思是冲突文件的列表吗 然后使用git status--short(简写)或只是git status,并将其输出传输到一个文件(git status>/tmp/conflicts.txt) 你是说你为解决冲突所做的工作的补丁集吗 然后记录一个或多个修复冲突的提交(可能在临时分支上),然后使用
- 你的意思是冲突文件的列表吗
然后使用
(简写)或只是git status--short
,并将其输出传输到一个文件(git status
)git status>/tmp/conflicts.txt
- 你是说你为解决冲突所做的工作的补丁集吗
然后记录一个或多个修复冲突的提交(可能在临时分支上),然后使用
git format patch..
- 您是指嵌入冲突标记的文件吗
然后从
中识别这些文件,并从工作树中复制它们git status
- 你的意思是冲突文件的列表吗
然后使用
(简写)或只是git status--short
,并将其输出传输到一个文件(git status
)git status>/tmp/conflicts.txt
- 你是说你为解决冲突所做的工作的补丁集吗
然后记录一个或多个修复冲突的提交(可能在临时分支上),然后使用
git format patch..
- 您是指嵌入冲突标记的文件吗
然后从
中识别这些文件,并从工作树中复制它们git status
- 你所说的“导出……所有冲突”是什么意思
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
结合使用
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
您也可以使用这个:
git diff--仅限名称--diff filter=U | xargs awk'/>>/'
这将从文件中删除冲突(前提是冲突区域以
>
开头),以便您可以将它们转储到新文件中-如果原始文件很大,并且您只需要显示冲突,则很方便。您也可以使用此文件:
git diff--仅限名称--diff filter=U | xargs awk'/>>/'
这将减少冲突(前提是冲突区域以
>
开头)从文件中删除,以便您可以将它们转储到新文件中-如果原始文件很大,您只需要显示冲突,这很方便。您是否考虑过使用修补程序文件?修补程序文件是否会显示更改,但不会显示冲突合并的结果?我的意思是,我会看到原始文件(合并前)和最终版本:我不会看到我修复的冲突。您是否考虑过使用修补程序文件?修补程序文件是否会显示更改,但不会显示冲突合并的结果?我的意思是,我会看到原始文件(合并之前)和最终版本:我不会看到我修复的冲突。对,我需要得到第三种方法的结果。我想知道是否有更快的方法it@James,恐怕没有,因为,老实说,你的要求似乎很不寻常。但不要害怕——Git是高度可脚本化的。您可以编写一个相当简单的程序,调用git status--cillar
(它的输出保证在git版本之间是稳定的),解析它以检测冲突路径,比如,将它们输出到它的标准输出流中,这样您就可以执行类似于/print conflicted path | xargs zip-r9/tmp/conflicts.zip
@James的操作,请参阅手册页面。实际上,它的-z
命令行选项可能更适合于机器处理(但不适用于POSIX shell,因为POSIX shell在NUL
s方面非常糟糕)。详细解释了机器可读的格式。对,我需要得到第三种方法的结果。我想知道是否有更快的方法it@James,恐怕没有,因为,老实说,你的要求似乎很不寻常。但不要害怕——Git是高度可脚本化的。您可以编写一个相当简单的程序,调用git status--cillar
(它的输出保证在git版本之间是稳定的),解析它以检测冲突路径,比如,将它们输出到它的标准输出流中,这样您就可以执行类似于/print conflicted path | xargs zip-r9/tmp/conflicts.zip
@James的操作,请参阅手册页面。实际上,它的-z
命令行选项可能更适合于机器处理(但不适用于POSIX shell,因为POSIX shell在NUL
s方面非常糟糕)。详细解释了机器可读格式。正是我需要的-编辑你的帖子-希望你不介意:)正是我需要的-编辑你的帖子-希望你不介意:)只获取名称:“git diff--name only--diff filter=U>conflicts.txt”只获取名称:“git diff--name only--diff filter=U>conflicts.txt”