주어진 파일에 대한 모든 커밋 (모든 분기에 걸쳐) 나열


94

이 질문은 특정 파일에 대한 모든 커밋 나열 과 밀접한 관련이 있지만 다릅니다. 모든 브랜치 에서 어떤 커밋 이 주어진 파일을 수정 했는지 알고 싶습니다 .

더 복잡하게 만들기 위해 주어진 파일이 작업 트리에있을 수도 있고 없을 수도 있습니다.

답변:


54

gitk를 사용할 수 있습니다.

gitk --all <path to file> (you need to install gitk)

예 :

gitk --all -- /home/kit.ho/project/abc.txt


1
내 대답이 왜 반대표를 받았는지 모르겠지만 질문이 모든 분기에 대한 로그를 구체적으로 요구한다고 생각하지 않습니다. OP가 이미 연결되어있는 답변을 제공하고 있습니다.
manojlds

2
나는 다운 보 터는 아니었지만 --all현재 브랜치보다 더 많은 역사를 살펴 보려면 비슷한 것이 필요합니다 .
wjl

왜 반대 투표입니까? 이것은 완벽하게 잘 작동합니다. 두 답변 모두 정확합니다. 하나는 텍스트 콘솔에서 작동하고 다른 하나는 gitk GUI에서 작동합니다. 둘 다 올바른 것으로 표시 할 수 있습니까?
Saurabh Nanda 2011 년

@Saurabh Nanda : 당신에게 유용하다고 생각하는 것을 표시하십시오.
Kit Ho

@saurabh-이 답변은 편집되었습니다. Kit Ho-편집 중임을 언급합니다. 그리고 두 답변이 원래 옳은 것처럼 보입니다.
manojlds

116

이 시도:

git log --all -- path

8
Nb. --full-history정확히보고 싶은 항목에 따라 옵션 이 필요할 수 있습니다 . git-log 또는 gitrevisions 맨 페이지에서 히스토리 단순화에 대한 섹션을 참조하십시오.
Jakub Narębski 2011 년

GUI를 사용하고 싶지 않다고 가정하면 확실히 정답입니다.
Matt Setter

47

명령 줄

git log와 함께 그래프 옵션을 추가하는 것이 좋습니다.

git log --graph --all -- <filename>

git log --graph --all-<파일 이름>

Gui

Gitk는 꽤 오래된 도구이며 항상 설치되지는 않습니다. 예를 들어 SourceTree와 같은 다른 무료 도구를 권장합니다.

SourceTree


7
파일을 기록하고 SourceTree에서 분기 그래프를 표시하는 방법은 무엇입니까? 파일을 마우스 오른쪽 버튼으로 클릭하고 "선택한 로그 ..."를 선택하면 모든 분기에 대한 기록이 표시되지 않습니다.
aleung
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.