2015-06-13 52 views
1

我正在一個裸回購後接收掛鉤上工作。 我想獲得更改並推送到此裸回購(僅最新)的文件名。 爲了得到它我正在使用這個命令。git diff不能在裸回購,post-receive hook

git diff --name-only HEAD^

這給了我錯誤,當我推到裸露的回購協議。

remote: fatal: This operation must be run in a work tree 

我知道在裸回購沒有工作樹,所以這個命令失敗,但如何得到這個運行?

回答

2

我相信你要找的命令是git diff --name-only HEAD^ HEAD。這將比較「當前」提交和它之前的提交。

+0

這給'遠程:致命的:不是一個Git倉庫'在裸露的回購。在非裸回購它工作正常。我需要在我的中央裸回購的後接收鉤上運行。 – Foolish

+0

嗯,這是一個非常令人費解的錯誤,因爲它絕對是一個git倉庫(否則你不會在你的問題中得到原始錯誤)。我在裸露的回購庫上試用了這個命令,並且它運行良好,儘管不是鉤子的一部分。出於好奇,你是否可以在命令行上執行裸回購命令,即不作爲鉤子的一部分? –

+0

@愚蠢我沒有得到任何錯誤與裸露的回購上述命令。也許別的東西是錯的? – suvayu