2017-03-24 68 views
0

是否可以從遠程獲取最後一次更改的相應版本的文件列表? 例如,我可以執行git:上次更改的相應版本的文件列表

git ls-files

git diff --name-only origin/master..HEAD

,然後havind的文件列表,我可以做

git log origin/master -n 1 --pretty=format:%h -- fileName

每個。 但我很樂意以最優雅的方式做到這一點。最好只使用git命令。 理想的輸出應該是這樣的:

file1 35acf7e2f89502f7fd5868732788d9c72349165f 
file2 2aa721537dd3ba64967c2b00441cebb8775ded74 
file3 c4e0c00181e23f03c128588620f5270a360de03b 
file4 35588dd34113e9f9a843d987774d173fb63b5409 
... 

或第一次修訂,然後文件名。

回答

1
git ls-files | while read file; \ 
    do \ 
     git log -n 1 --pretty="%h $file" -- $file; \ 
    done 

ls-files將列出工作樹,然後可以通過管道輸送到Git的記錄每個文件以獲取提交的文件。

git ls-files | xargs -n 1 -I {} \ 
    sh -c 'git log -n 1 --pretty=format:%h -- {} ; echo " {}"' 

同樣使用xargs的

相關問題