문제

Actually am try to get a report on merge conflicts. I used 'git blame' to see who has changed what line, but i couldn't find the branch and repository name information.

Is there a way to find the repository name, branch name and author name of a file from 'git blame' or from commit ids' so that whenever a merge conflict occurs i can send an email to the authors who have touched that file/lines to resolve it.

도움이 되었습니까?

해결책

git blame should only give you the revision and author, but:

  • as mentioned in "Git: Finding what branch a commit came from", you cannot easily pinpoint the branch where that commit has been made (branches can be renamed, moved, deleted...), even though git branch --contains <commit> is a start.
  • I doubt you can find the repository it came from (unless maybe by looking hard in the git log results, trying to find the parent of that commit comming from a ref/remotes namespace).

Now if you have a proper .mailmap at the toplevel of the repository, you will have the right email addresses as well.

In the simple form, each line in the file consists of a canonical real name of an author, a whitespace, and an email address used in the commit (enclosed by < and >) to map to the name. For example:

Proper Name <commit@email.xx>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top