Если вы не используете поток запросов на извлечение, нет надежного механизма для записи, какие коммиты сделаны для конкретной ветви.
Имя локальной ветки может быть произвольным. Вы можете создать локальную ветку foo
и отправить ее новые коммиты в ветку bar
. Если пуш успешен, мы можем быть уверены, что коммиты сделаны для bar
. Но это не гарантирует, что коммиты будут сделаны в локальном bar
. Если вам разрешено напрямую нажимать foo
на bar
без запроса на получение, система даже не имеет постоянной записи, что эти коммиты передаются на bar
. Вы можете найти некоторые подсказки в сообщении коммита коммита слияния, но сообщения коммита тоже могут быть подделаны, не говоря уже о том, что у вас могут не быть строгих правил форматирования сообщений коммита. Когда пересылка выполняется быстро, сам коммит слияния даже не существует. У reflogs также могут быть некоторые подсказки, но они также ненадежны, поскольку они связаны с локальными ветвями и не являются постоянными.
При систематическом потоке запросов на получение запросов хостинговые сервисы, такие как Github, Gerrit и Gitlab, имеют надежные базы данных для записи, какие коммиты объединяются в конкретную ветку. Они предоставляют API или интерфейсы, которые позволяют пользователям получать эти записи из баз данных.
В вашем случае вы можете попробовать:
git log t1 ^master --first-parent --no-merges
Но результат не заслуживает доверия в теории.