2013-06-27 34 views
0

我在网上搜索了很多,但找不到最终答案。 我做一个目录下面的步骤将其添加到Git的使用GIT获取最新的承诺文件

git add SomeDir/ 
git commit -m "Some Message" 
git diff --name-only HEAD~1 

fatal: ambiguous argument 'HEAD~1': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions, like this: 
'git <command> [<revision>...] -- [<file>...]' 

什么我做错了任何想法。谢谢

+0

是这样的第一次提交中该存储库?如果是这样,那么'HEAD〜1'不存在 - 在它之前没有其他提交。你可能需要'git log -1 --name-only'而不是'git diff --name-only HEAD〜1'。 – twalberg

+0

如果这个提交是新创建的仓库的第一次提交,'git diff --name-only HEAD〜1'不应该作为'HEAD〜1'(意味着当前提交*的父提交)不存在。 – dyng

回答

0

你确定你有头吗?如果你运行这个命令:

git log --graph --decorate --abbrev-commit --pretty=oneline 

是你的一个标签为HEAD的提交?如果没有,那么问题是git不知道你指的是哪个提交。您可能需要更改为使用不同的标签(例如散列)。

0

我不确定你要在这里完成什么。你是否想看到你的提交和出处之间的差异?如果是这样,该命令将

git diff master origin/master --name-only 

另外,您也可以使用

git diff --cached 

临时区域和头之间把分差

+0

谢谢你的回复。但我想要开发人员获取上次提交的文件。我不想在主人和起源之间找到差异。 – anonymous123

+0

我仍然不确定我明白你在找什么。你只是想看看哪些文件在最新的提交中发生了变化? –

+0

是的,如果问题有点朦胧,我很抱歉。我只想跟踪已更改的文件。 – anonymous123

0

所以研发的加载后,这是我发现的,发现在你上的所有文件提交到Git的,不是一推,而只是一个地方犯型

git show --name-only