如何列出 git 中的所有文件?

How do I list all the files in git?

git show --name-only

做我想要的,但是有一个 header,然后我的脚本破坏了它

git show --name-only | head -n 5

显示了我不想要的部分。

git show --name-only | tail -n +7

搞定了。

肯定有更好的方法吗?

具体来说,我想要在我的存储库的当前状态下存在并受版本控制的所有文件的名称(和路径)。

我相信你想要:

git ls-files

首先澄清一下 git show 将 - 不带任何标志 - 列出 最新提交 的文件,而不是所有添加的文件。

您可以使用 --pretty=oneliner 来确保只有第一行包含信息。所以通过使用

git show --name-only --pretty=oneline | tail -n +2

你确保你永远不会(对于未来的版本)删除真实信息。

如果你想要一个所有被颠覆的文件的列表,你应该使用 git ls-files 正如@DavidHoelzer 所回答的那样。