После git fetch
, чтобы проверить, есть ли в вашей ветке локальные коммиты, которые не были перенесены на удаленный, попробуйте следующее:
git diff --exit-code <remote>/<branch>..<branch>
Это также скажет вам, есть ли коммиты впульт, который у вас нет локально.Обратите внимание, что это просто проверка на наличие изменений, поэтому, если бы были разные коммиты с одинаковыми изменениями в удаленной и локальной ветвях, возможно, что эта команда не обнаружит это.В сценарии я обычно перенаправляю это на /dev/null
и просто проверяю статус возврата.Итак, если вы используете пульт дистанционного управления origin
, а ветвь - master
, команда будет выглядеть следующим образом:
git diff --exit-code origin/master..master > /dev/null
Как и предполагали другие, я также использую git diff --exit-code
и git diff --cached --exit-code
для проверкидля локальных незафиксированных изменений.