如何获取 git commit 中的文件列表? [复制]
Posted
技术标签:
【中文标题】如何获取 git commit 中的文件列表? [复制]【英文标题】:How can I get a list of files in a git commit? [duplicate] 【发布时间】:2014-12-12 20:53:17 【问题描述】:我在master
上提交了一些文件,并将一些本地分支与master
分支合并。如何获取master
分支上的已提交文件列表?
【问题讨论】:
你说你已经提交了,你到底想做什么? 如果我们暂存了一些文件,我们可以看到带有 git 状态的文件。如何查看已提交的文件?我需要像 git status 这样的命令来列出提交的文件。 我不确定你的意思,也许git ls-files
是你需要的。
我想知道我在分支中提交的文件都是什么。
gitk 将显示所有提交和提交的所有文件的信息。你也可以做 git log
【参考方案1】:
如何获取
master
分支上已提交文件的列表?
git ls-tree
列出树对象的内容。默认情况下,它会列出树对象中引用的每个对象的权限、类型、哈希和关联文件名,但您可以使用--name-only
选项告诉它只打印文件名。
git ls-tree --name-only master
编辑(感谢 Alex):您可能还想使用 -r
标志递归到子树(即“嵌套”在提交的顶部树对象中的树对象)。
git ls-tree -r --name-only master
【讨论】:
很可能你想添加-r
进行递归【参考方案2】:
我经常用
git ls-files
在给定的普通格式中,它只是打印出当前分支中提交的文件。
要查看不同分支的文件,请添加--with-tree
参数:
git ls-files --with-tree=master
列出master
分支的所有文件。
The docs of git ls-files
提供更多微调的可能性。
【讨论】:
以上是关于如何获取 git commit 中的文件列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
当我在vim中填写git commit消息时,如何在文件列表中显示不同的颜色