Как получить историю ветки git (Начальная точка), когда происходит ускоренное слияние
У меня есть программа для запроса истории конкретной ветви, в которой я хотел бы получить действия, выполняемые только в этой ветви:
- Хотелось бы отобразить комментарии, сделанные пользователем в этой ветке.
- Дополнительная информация.
Я могу сделать это, когда моя основная ветвь и моя функциональная ветвь (по которой я хотел бы запросить) еще не объединены.
Что я могу сделать, так это то, что я могу делать запросы между главной и функциональной ветками, как это, и получать журналы.
git log master..feature-branch.
Я получаю список выполненных действий.
Но моя проблема в том, что когда происходит быстрое слияние в филиале, я не могу запросить или получить данные для этой ветви, так как следующая команда не возвращает строк.
git log master..feature-branch.
Ничего не возвращается.
Я хотел бы знать, есть ли какой-то выход в Git с использованием команд для поиска истории, даже если происходит быстрое слияние.
1 ответ
В git ветви не поддерживают четкую идентичность, когда они объединяются с другими ветвями, независимо от того, является ли эта ветка быстрой пересылкой или нет. Таким образом, в зависимости от команды,
git log master..branch
чтобы получить список коммитов, которые являются уникальными для branch
не будет ни надежным, ни осуществимым методом. Ветви в git - это просто эфемерные и временные ссылки, на самом деле они не всегда связаны с коммитами.
Лучшее, что вы можете сделать, - это слить ветки без ускоренной перемотки, чтобы вы могли по крайней мере определить, что ветка произошла. Но если вы не сохраните ссылку на ветвь или тэг в этом коммите слияния, вы не сможете использовать git log
Команда "запросить" имя ветви, чтобы найти коммиты, принадлежащие этой ветви.
Кроме того, когда ветка объединена в master
, все коммиты этой ветви затем фиксируются в master
так что они больше не принадлежат к этой ветви.