我如何打印一份包含所有提交文件的简单列表?
尽管下面列出了这些文件,但它也包含了每个文件不需要的差异信息:
git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
我如何打印一份包含所有提交文件的简单列表?
尽管下面列出了这些文件,但它也包含了每个文件不需要的差异信息:
git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
当前回答
只有文件列表(甚至没有提交消息):
git show --name-only --pretty=format:
例如,在编辑器中打开所有更改的文件:
git show --name-only --pretty=format: | xargs "$EDITOR"
其他回答
我只是假设gitk不适合这样做。在这种情况下,请尝试git show--name only<sha>。
显示日志。
COMMIT可以是空白(“”)、SHA-1哈希或SHA-1哈希的缩短版本。
git log COMMIT -1 --name-only
这将仅列出文件,对进一步处理非常有用。
git log COMMIT -1 --name-only --pretty=format:"" | grep "[^\s]"
列出提交中更改的文件:
git diff --name-only SHA1^ SHA1
这不会显示日志消息、额外的换行符或任何其他混乱。这适用于任何提交,而不仅仅是当前提交。
我找到了一个完美的答案:
git show --name-status --oneline <commit-hash>
这样我就能知道
刚刚修改了哪些文件(M)新添加的文件(A)删除了哪些文件(D)
只有文件列表(甚至没有提交消息):
git show --name-only --pretty=format:
例如,在编辑器中打开所有更改的文件:
git show --name-only --pretty=format: | xargs "$EDITOR"