Как получить историю ветки git (Начальная точка), когда происходит ускоренное слияние

У меня есть программа для запроса истории конкретной ветви, в которой я хотел бы получить действия, выполняемые только в этой ветви:

  1. Хотелось бы отобразить комментарии, сделанные пользователем в этой ветке.
  2. Дополнительная информация.

Я могу сделать это, когда моя основная ветвь и моя функциональная ветвь (по которой я хотел бы запросить) еще не объединены.

Что я могу сделать, так это то, что я могу делать запросы между главной и функциональной ветками, как это, и получать журналы.

git log master..feature-branch.

Я получаю список выполненных действий.

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

git log master..feature-branch.

Ничего не возвращается.

Я хотел бы знать, есть ли какой-то выход в Git с использованием команд для поиска истории, даже если происходит быстрое слияние.

1 ответ

В git ветви не поддерживают четкую идентичность, когда они объединяются с другими ветвями, независимо от того, является ли эта ветка быстрой пересылкой или нет. Таким образом, в зависимости от команды,

git log master..branch

чтобы получить список коммитов, которые являются уникальными для branch не будет ни надежным, ни осуществимым методом. Ветви в git - это просто эфемерные и временные ссылки, на самом деле они не всегда связаны с коммитами.

Лучшее, что вы можете сделать, - это слить ветки без ускоренной перемотки, чтобы вы могли по крайней мере определить, что ветка произошла. Но если вы не сохраните ссылку на ветвь или тэг в этом коммите слияния, вы не сможете использовать git log Команда "запросить" имя ветви, чтобы найти коммиты, принадлежащие этой ветви.

Кроме того, когда ветка объединена в master, все коммиты этой ветви затем фиксируются в master так что они больше не принадлежат к этой ветви.

Другие вопросы по тегам