在文本文件中导出GIT中的所有冲突

在文本文件中导出GIT中的所有冲突,git,Git,我需要向那些需要审查公共关系的人展示我解决的冲突。 git有没有办法将所有冲突导出到文本文件中 我需要的是一个文本文件,其中包含合并后包含冲突的所有文件的“cat”您所说的“导出…所有冲突”是什么意思 你的意思是冲突文件的列表吗 然后使用git status--short(简写)或只是git status,并将其输出传输到一个文件(git status>/tmp/conflicts.txt) 你是说你为解决冲突所做的工作的补丁集吗 然后记录一个或多个修复冲突的提交(可能在临时分支上),然后使用

我需要向那些需要审查公共关系的人展示我解决的冲突。 git有没有办法将所有冲突导出到文本文件中

我需要的是一个文本文件,其中包含合并后包含冲突的所有文件的“cat”

您所说的“导出…所有冲突”是什么意思

  • 你的意思是冲突文件的列表吗

    然后使用
    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”