Найдите ветвь git или ветки из идентификатора commit

На самом деле я пытаюсь получить отчет о конфликтах слияния. Я использовал "git винить", чтобы узнать, кто изменил какую строку, но я не смог найти информацию о названии ветки и репозитория.

Есть ли способ найти имя репозитория, имя ветки и имя автора файла из "git винить" или из идентификаторов фиксации, чтобы всякий раз, когда возник конфликт слиянием, я могу отправить электронное письмо авторам, у которых есть коснулся этого файла/строк, чтобы разрешить его.

Ответы

Ответ 1

git blame должен давать только ревизию и автора, но:

  • как указано в "Git: поиск того, из какой ветки произошел коммит, вы не можете легко определить ветвь, в которой было выполнено это сообщение (ветки могут быть переименован, перемещен, удален...), хотя git branch --contains <commit> - это начало.
  • Я сомневаюсь, что вы можете найти репозиторий, из которого он пришел (если, может быть, трудно найти результаты git log, пытаясь найти родителя этого коммита, исходящего из пространства имен ref/remotes).

Теперь, если у вас есть надлежащий .mailmap на верхнем уровне репозитория, вы также получите правильные адреса электронной почты.

В простой форме каждая строка в файле состоит из канонического реального имени автора, пробела и адреса электронной почты, используемого в фиксации (заключенных в < и >) для сопоставления имени, Например:

Proper Name <[email protected]>