Если то, что вы пытаетесь сделать, это определить, имеет ли ваша локальная ветвь отклонение от удаленной ветки, я думаю, что вы лучше обслуживаете git-log
и тройной нотацией.Например:
git log <local-branch>...<remote-branch> --oneline
предоставит вам список коммитов, которые либо в local-branch
, либо в remote-branch
, но не оба .
Если вы также добавите--left-right
, вы получите указание, на какой стороне находится коммит:
git log <local-branch>...<remote-branch> --oneline --left-right
, где <
означает, что коммит находится слева, но не справа ,в то время как >
означает справа, но не слева .
Редактировать: , если вы не пишете сценарий, в этом случае git-merge-base
с опцией --is-ancestor
, предложенной в @ axiac , comment - лучший выбор, поскольку вы можете просто проверить код выхода.