2017-03-24 1 views
0

리모컨에서 최종 변경된 버전으로 해당 파일 목록을 가져올 수 있습니까? 예를 들어 나는 각git : 마지막 변경의 해당 개정판이있는 파일 목록

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

을 할 수

git ls-files

또는

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

다음은 파일 목록을 havind 실행할 ​​수 있습니다. 그러나 나는 그것을 가장 우아한 방식으로하고 싶습니다. 가급적이면 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 ls-files | xargs -n 1 -I {} \ 
    sh -c 'git log -n 1 --pretty=format:%h -- {} ; echo " {}"' 

동일한 xargs를 사용

관련 문제