Git:获取提交文件的名称?

时间:2015-07-19 21:48:23

标签: git github

我已使用git log,但它没有提供已提交文件的名称,仅提供sha code

有没有办法查看提交的文件的名称?

我需要确定提交的是什么,然后将正确的文件推送到github。我不想推送文件,之后删除其中一些文件。

不幸的是,提交消息没有提到localy提交的文件。

** git diff不会返回结果。

编辑1

git status显示了一些要提交的已删除文件。如您所知,git还会记录已删除的文件。

我需要的是上次提交中提交的文件的名称。我无法通过git status

获得该功能

7 个答案:

答案 0 :(得分:2)

git log具有--name-only选项,添加提交给日志条目的文件名。

要获得仅包含SHA-hashes和文件名的“日志”,请使用:

git log --name-only --pretty=%H

仅获取上次提交中触及的文件,请使用:

git log --name-only --pretty="" HEAD~1..

要包含状态/操作,请使用:

git log --name-status --pretty="" HEAD~1..

答案 1 :(得分:0)

您想要的命令是:git status

答案 2 :(得分:0)

尝试git status为您提供最近提交但尚未推送的文件名。

<强>来源: http://git-scm.com/docs/git-status

编辑1

git log --name-status HEAD^..HEAD

这将为您提供上次提交时修改过的文件的列表。

答案 3 :(得分:0)

您可以使用git show

git show HEAD

显示最后一次提交差异

git show HEAD~1
倒数第二个提交差异,等等。

正如我所说的那样,git show可以显示一个diff(这是我在检查提交时更喜欢的)而不是仅显示文件名。

答案 4 :(得分:0)

提交后,您需要将提交与其他提交进行比较。

要知道上一次提交中的内容:  git diff --stat HEAD~1

要知道在其他旧提交中提交的内容:  git diff --stat shaNumber~1 shaNumber

然而,试试gitk。这是一个非常容易使用的前端程序,它为您提供了这种信息。

答案 5 :(得分:0)

git show <commit>将向您显示一个提交的差异和提交消息。如果您感兴趣的提交是当前的HEAD,那么您可以使用git show而不使用任何参数。

git log --stat会显示diffstats,包含文件名以及在每次特定提交中添加/删除的行数。

git log -p将在日志条目下显示每个提交的完整差异。

git log --name-only只会显示已更改文件的名称。

答案 6 :(得分:0)

要查看提交后更改的文件的名称,

$git diff --stat 

要在提交之前检查添加后的文件名称,

$git diff --cached