Значение «содержащихся» и «объединенных» в Magit

#git #magit

#git #magit

Вопрос:

Когда я смотрю на коммит в magit, я вижу:

 Author:     My Name
AuthorDate: A Date
Commit:     My Name again
CommitDate: A Date

Parent:     20f412c1 Commit message
Merged:     master
Contained:  devel foo
 

Я знаю, что «родительский» — это предыдущий коммит в истории, но в чем смысл merged and contained ? Я просматривал документы git amp; magit, но их сложно искать по ключевым словам, поскольку они появляются повсюду.

Ответ №1:

Я бы предположил, что вы выполняете команду magit-show-commit . Эта функция является частью magit-diff.el . В этом файле мы можем видеть, что для ключевых Contained слов и Merged они используются в качестве параметров для чего-то вызываемого magit--insert-related-refs/magit-buffer-revision .

Разница, которая происходит, описывается документацией magit как:

Пользовательский параметр: magit-revision-insert-related-refs

Показывать ли связанные ветви в буферах версий.

  • nil Не показывать никаких связанных ветвей.
  • t Показать связанные локальные ветви.
  • all Показать связанные локальные и удаленные ветви.
  • mixed Показать все содержащие ветви и локальные объединенные ветви.

Если мы посмотрим на этот mixed вариант, я интерпретирую его следующим образом:

Поскольку Contained это означает, что при выборе коммита, который вы хотите просмотреть, все ветви, которые следуют за этим коммитом (содержатся после него), должны быть помещены в этот раздел.

Поскольку Merged это означает, что он покажет все локальные ветви, которые были объединены до этого коммита.

Комментарии:

1. Привет — спасибо, что погрузился в lisp для меня! Если я вас правильно понял, короткий ответ таков: «Содержащиеся» ветви — это ветви, которые содержат этот коммит, тогда как «Объединенные» ветви — это те, которые ранее были объединены в ветку, на которой был сделан этот коммит. Спасибо за вашу помощь!