2013-06-27 37 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