Почему моя ветка опережает origin/master после проверки git?

После того, как мои изменения были отправлены в gerrit и приняты рецензентом, git status жалуется, что я опережаю origin/master.

Полный рассказ:

Я клонировал свой репозиторий из ssh://luis@somewhere:10022/project.git

Поскольку git review -s жаловался на то, что gerrit remote не существует, я сделал:

git remote add gerrit ssh://luis@somewhere:10022/project.git

Обратите внимание, что теперь и origin, и gerrit указывают на одно и то же место (я не знаю, проблема ли это).

Я решил не использовать новую ветку и просто работать на мастере.

После того, как мои изменения были сделаны и поставлены, я сделал:

git commit
git review

На данный момент статус git говорит, что я опережаю origin/master на 1 коммит, что странно, потому что я думал, что обзор git имел неявный толчок.

Изменения были рассмотрены и приняты в веб-интерфейсе gerrit и объединены в origin/master (все остальные их могут видеть), но в моем локальном репозитории все еще указано, что я впереди.

Я попытался извлечь из источника, но это вызвало слияние, и теперь я опережаю на 2 коммита.

Это нормально? Должен ли я просто отказаться от дополнительных локальных изменений? Подтолкнуть их к происхождению?

Спасибо,

Луис


person Luis    schedule 11.09.2013    source источник


Ответы (2)


Обычно я могу решить эту проблему, запустив

git pull

Это происходит потому, что индекс для git иногда не обновляется и не имеет ничего общего с git review.

Проверьте принятый ответ для "Ваш ветка опережает "origin/master" на 1 фиксацию при явном нажатии

person Anshul Goyal    schedule 11.09.2013
comment
К сожалению, это не работает. git pull, git pull origin master, git pull gerrit master. Ни один из них не действует, всегда написано Уже обновлено. git push, как было предложено в командной строке, не работает, потому что gerrit запрещает прямые нажатия на источник. - person Luis; 11.09.2013
comment
@Luis Я предполагаю, что git fetch тоже не помогает? - person Anshul Goyal; 11.09.2013
comment
git pull == git fetch и git merge - person laplasz; 06.01.2015
comment
У меня была такая же проблема, и git pull решил ее. Теперь я получаю, что ваша ветка обновлена ​​​​с «происхождением/мастером». - person UrsulRosu; 20.07.2016

git review не будет передавать ваши изменения мастеру, а отправляет набор исправлений на проверку. Это означает, что ваша локальная ветка действительно опережает основную, если только ваш набор исправлений не был объединен с вашей веткой. Для получения подробной информации о том, какая ветка предназначена, вам нужно проверить файл .gitreview в корне вашего проекта.

person uncletall    schedule 12.09.2013