我已使用git log
,但它没有提供已提交文件的名称,仅提供sha code
。
有没有办法查看提交的文件的名称?
我需要确定提交的是什么,然后将正确的文件推送到github。我不想推送文件,之后删除其中一些文件。
不幸的是,提交消息没有提到localy提交的文件。
** git diff
不会返回结果。
编辑1
git status
显示了一些要提交的已删除文件。如您所知,git还会记录已删除的文件。
我需要的是上次提交中提交的文件的名称。我无法通过git status
答案 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