是否有任何命令在拉取后仅列出git中的自动合并文件。自动合并不会强迫我们观看代码。有时我需要明确检查automerged文件。
Git在混合中通常以三种类型登记已更改的文件。新文件来了或旧文件被删除,自动合并和冲突。如果git在内部识别自动编辑的文件,所以我以为会有任何命令只列出自动合并文件。我希望在合并提交之前获取此列表。< / p>
答案 0 :(得分:1)
为了清楚这个答案,让我们从一些定义和注释开始:
--no-commit
或发生合并冲突。如果是后者,你还没有解决这些冲突。HEAD
提交是此分支的提示。所以短语&#34; HEAD
提交&#34;下面表示&#34;在进行合并之前分支的尖端&#34;。根据您的评论回复,我相信您要查找从HEAD
提交中任何更改的文件,即那些已从入站提交中获取任何更改的文件无论git是否合并了那些没有发现冲突的人。
如果这是正确的,答案很简单:
git diff --cached --name-only
会列出它们。 (这有点令人惊讶,因为git diff --cached
没有--name-only
不显示未合并的文件。)
你是否只想要git已经(或认为已成功合并)的文件:
git status --porcelain | awk '/^M / { print $2 }'
会列出那些。 (忽略awk
,并可选择使用-s
或--short
代替--porcelain
,以查看git status
的输出。在这种情况下,我们会查找文件其状态为&#34;已合并,准备提交&#34;。包含合并冲突的文件将处于M
状态。)
您可能还希望将文件与其基于合并的版本进行比较。在多个合并库的(有点罕见的)情况下,除了之外并不太难。不过,我会将这些细节留在这个答案中。