program tip

git log로만 변경된 파일 이름을 표시하는 방법은 무엇입니까?

radiobox 2020. 8. 20. 08:08
반응형

git log로만 변경된 파일 이름을 표시하는 방법은 무엇입니까? [복제]


이 질문에 이미 답변이 있습니다.

변경된 파일명git log?


귀하의 답변에 감사드립니다, @mvp, @xero, 두 답변 모두에 대해 내가 원하는 것을 얻었습니다.

git log --name-only 

또는

git log --name-only --oneline

짧게.


나는 당신이 --name-only깃발을 사용할 수 있다고 생각합니다 . 다음과 같이 :

git log 73167b96 --pretty="format:" --name-only

개인적 git show으로 커밋에서 변경된 파일을 보는 데 사용 합니다.

git show --pretty="format:" --name-only 73167b96

(73167b96은 커밋 / 태그 이름 일 수 있음)


이것은 거의 필요한 것을 제공합니다.

git log --stat --oneline

커밋 ID + 짧은 한 줄은 여전히 ​​남아 있으며 그 커밋에 의해 변경된 파일 목록이 이어집니다.


나는 여기에서 "git log"제한없이 비슷한 대답을 찾고 있었다. 여기에 대한 답변은 내가 필요한 것을 제공하지 않았지만 다른 사람들이 유용하다고 생각할 경우를 대비하여 추가하겠습니다.

git diff --name-only

이를 표준 커밋 포인터와 결합하여 특정 커밋 이후 변경된 사항을 확인할 수도 있습니다.

git diff --name-only HEAD~3
git diff --name-only develop
git diff --name-only 5890e37..ebbf4c0

이것은 간결하게 스크립팅에 좋은 파일 이름 제공합니다 . 예를 들면 :

git diff --name-only develop | while read changed_file; do echo "This changed from the develop version: $changed_file"; done

#OR

git diff --name-only develop | xargs tar cvf changes.tar

이제 다음을 사용하여 현재 분기에있는 변경된 파일 목록을 가져 와서 마스터와 비교합니다 (비교 대상 분기는 쉽게 변경됨).

git log --oneline --pretty="format:" --name-only master.. | awk 'NF' | sort -u

이전에는 이것에 의존했습니다.

git log --name-status <branch>..<branch> | grep -E '^[A-Z]\b' | sort -k 2,2 -u

파일 목록과 상태 (추가, 수정, 삭제) 만 출력합니다.

A   foo/bar/xyz/foo.txt
M   foo/bor/bar.txt
...

-k2,2종류에 대한 옵션은 파일 경로 대신 변화의 유형 (A, M, D)으로 분류를한다.


다음 과 같은 파일 이름 필요한 경우 :

dir/subdir/file1.txt
dir/subdir2/file2.sql
dir2/subdir3/file6.php

( 타르 명령 의 소스로 사용하는 ) 커밋 메시지도 필터링해야합니다.

이를 위해 다음 명령을 사용합니다.

git log --name-only --oneline | grep -v '.{7} '

Grep 명령 -v은 7 개의 기호 ( git log명령에 대한 내 자식 해시의 길이 )와 공백으로 시작하는 모든 줄을 제외합니다 ( param) . 따라서 모든 git hash message행을 필터링하고 파일 이름이있는 행만 남깁니다.

한 가지 유용한 개선 사항은 uniq다음과 같이 중복 줄을 제거 하기 위해 추가 하는 것입니다.

git log --name-only --oneline | grep -v '.{7} ' | uniq

참고 URL : https://stackoverflow.com/questions/14207414/how-to-show-changed-file-name-only-with-git-log

반응형