Машинный анализируемый метод сравнения текущей ветви с локальным представлением ветви отслеживания
Мне нужен машинный способ сравнения текущей ветви с локальной копией отслеживающей ветви.
Вот те идеи, которые я попробовал, с их оговорками:
- статус git: не гарантируется, что он останется неизменным между различными версиями git
- git status --porcelain: не выводит необходимую информацию
- Сравните главу филиала с главой происхождения / филиала: Можем ли мы гарантировать, что отслеживающая ветвь находится на "источнике"?
Спасибо за любые идеи
1 ответ
Решение
Я думаю, что команда, которую вы ищете, это:
git rev-list HEAD..HEAD@{u}
В этом списке перечислены все SHA коммитов, которые находятся в ветви отслеживания, но не в вашей локальной ветви. rev-list
это просто команда для перечисления ревизий и тому @{u}
под названием ветки подразумевается "удаленная ветка трекинга этой ветки".