Git via Gerrit: локальный / мастер не синхронизирован с источником / мастером
Есть несколько вопросов против "Your branch is ahead of 'origin/master' by X commits."
... Однако я не смог исправить из предоставленных мной решений.
Вот мой сценарий:
У меня есть рабочая среда Gerrit, и у меня есть привилегии, чтобы обойти обзор.
git status
выходы:
# On branch master
# Your branch is ahead of 'origin/master' by 3 commits.
#
nothing to commit (working directory clean)
увидев мою ветку впереди remote
Я пытаюсь подтолкнуть мою ветку.
git push gerrit:project master
Everything up-to-date
Поэтому я пытаюсь pull
git pull gerrit:project
From gerrit:project
* branch HEAD -> FETCH_HEAD
Already up-to-date.
git status
снова дает тот же статус my branch ahead of 'origin/master' by X commits
когда я diff master origin/master
Я не получаю никаких изменений.
Пожалуйста, дайте мне знать, если я могу помочь вам с выводами других команд..
спасибо за просмотр этого
2 ответа
Я разместил другой вопрос на этом форуме, и ответ на этот вопрос также связан с этим.
Подводя итог, вот несколько шагов, которые можно сделать:
Рассмотреть возможность использования push -f
или удалите "пульты" и обновите его так:
git remote -v
бросает вывод
origin gerrit:project (fetch)
origin gerrit:project (push)
Из gitref добавьте сюда свои пульты и удалите источник
git remote add gerrit gerrit:project
git remote rm origin
git remote -v
который должен показать следующее:
gerrit gerrit:project (fetch)
gerrit gerrit:project (push)
Вот ссылка на тот вопрос моего шахты... на который был дан ответ.
Пожалуйста, не стесняйтесь закрывать, так как я думаю, что это будет дубликат моего другого вопроса
git push -f, похоже, ничего не сделал для меня. Вот что сработало в моем случае.
git reset --hard HEAD~n
Замените на то, сколько когда-либо совершает ваш вперед. Иногда это занимает несколько раз.
git pull
Теперь вы должны быть в правильном месте в репо, не будучи "связанным" с другими коммитами в Gerrit.