2013-04-02 7 views
10

GIT 병합으로 새로운 커밋이 도입되었습니다. 이로 인해 "git blame"문제가 발생합니다. 병합 된 행은 병합 한 개발자가 커밋 한 것처럼 보입니다.git blame : 병합 후 올바른 작성자

의 충돌이 (충돌을 해결했기 때문에) 인 경우를 이해할 수 있습니다. 그러나 비 충돌 라인에 대해 이러한 일이 발생하지 않는 방법이 있습니까? "git blame"에 대한 몇 가지 옵션이 있습니까?

주변에 길이 없다면 병합이 많을 때 기본적으로 "git blame"이 거의 쓸모 없게됩니다. GIT는 많은 병합을 장려합니다.

SVN에 충돌이없는 병합과 관련된이 문제가 있습니까? 나는 그렇게 생각하지 않지만 SVN으로 작업 할 때 전염병과 같은 지점을 피할 수 있기 때문에 잘못 될 수 있습니다.

+0

가능한 복제본 [병합을 보지 않고 어떻게 비난합니까] (http://stackoverflow.com/questions/5290094/how-do-i-git-blame-without-seeing-merges) –

답변

8

내부적으로 git blamegit rev-list을 사용하여 수정본 목록을 만듭니다. git rev-list--no-merges 옵션을 허용합니다.

그래서 당신이 할 수 있습니다

git blame --no-merges <file> 
0

난 그냥 자식 버전 2.3.8와 충돌 선이 병합에 기인하지 않은 비 병합 커밋 저자와 병합을 시도, 그들은 저자에 기인한다. 아마도 이것은 git 버전 이후로 다루어 졌을 것입니다.