Найти последний локальный коммит git, который также присутствует в / был передан в апстрим - PullRequest
2 голосов
/ 28 июня 2019

Есть ли способ получить последний локальный коммит Git, который я также отправил в апстрим?

Чтобы объяснить немного больше: я хотел бы, чтобы последний локальный коммит, который также был помещен в апстрим, не был запутан последним коммитом в верхнем потоке, который не всегда также локальный (потому что вы можете принести коммиты в восходящем направлении с помощью git fetch и извлеченные коммиты больше не являются локальными).

Я понимаю, что можно создать алгоритм, который просматривает восходящие коммиты и локальные коммиты, делает некоторые сравнения и определяет, какой из них был последним локальным, т. Е. Который появляется при git log ing и также присутствует в восходящем, но Команда git, которая дает эту информацию, была бы очень полезна.

1 Ответ

4 голосов
/ 28 июня 2019

Большую часть времени это будет

git merge-base origin/master master

(заменяя любое имя ветви на master).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...