Как я могу увидеть представление Git-обновления без ускоренной перемотки вперед?

Я пытаюсь git push origin master и получаю ошибку ! [rejected] master -> master (non-fast-forward). Я понимаю, что означает ошибка. (1)

Однако я хочу решить, стоит ли обновлять --force в любом случае. Для этого мне нужно увидеть и сравнить коммиты моей локальной ветки и целевой удаленной ветки. Как я могу видеть их рядом? Я бы предпочел использовать инструмент с графическим интерфейсом, например, gitg, но достаточно будет удобочитаемой опции командной строки.


(1) Это означает, что моя локальная ветвь не является прямым потомком целевой удаленной ветки. Это объясняется в:

2
задан 23 May 2017 в 15:39

1 ответ

Вы можете использовать следующие инструменты для визуализации и сравнения репозиториев:

git log --graph

Вы можете использовать командную строку git:

git log --graph --oneline --all --decorate

Со страницы руководства: «Нарисуйте текстовое графическое представление истории коммитов в левой части вывода. Это может привести к тому, что дополнительные строки будут напечатаны между коммитами, для истории графов. быть нарисованным правильно. "

См. Просмотр истории коммитов для примера (вам придется прокрутить немного вниз).

gitk

Вы можете использовать графический интерфейс gitk:

git fetch origin # make sure you are up-to-date
gitk branchname origin/branchname # launch gitk

С помощью этой команды вы можете увидеть, как разошлись локальная и удаленная ветви.

Другие инструменты

Другие инструменты GUI могут иметь аналогичные опции визуализации. См. ответ Роба Мейоффа на «Что означает, что толчок Git не может быть быстро объединен вперед?» для примера того, что вы можете увидеть.

Не-быстрая перемотка вперед

Все эти инструменты были упомянуты при исследовании , почему git pull обновляется, но git push отклоняет не-быструю перемотку вперед на StackOverflow. Ответы включают советы по устранению не-перемотки вперед без форсирования. (Распространенной причиной является наличие локальной ветви с тем же именем, что и у удаленной - например, локальная и удаленная ветви с именем origin/new-feature вместо локальной ветви с именем new-feature.)

0
ответ дан 23 May 2017 в 15:39

Другие вопросы по тегам:

Похожие вопросы: