Git говорит, что местный филиал опережает удаленный после того, как вытащил из удаленного - PullRequest
17 голосов
/ 29 октября 2010

Извините, если заголовок не ясен, но это странная проблема.

I git checkout для моей ветки "stage" и git pull для получения последних изменений моего партнера (чтоон толкнул прошлой ночью в ветку «stage» в удаленном репозитории), и, конечно же, они сливаются с моей локальной веткой «stage».git log <branch> показывает пять коммитов, которые он выполнил прошлой ночью.

Затем я переключаюсь на ветку master, чтобы извлечь это из репозитория, потому что он сказал мне, что после тестирования слил эти изменения в ветку master.Но когда я git checkout stage возвращаюсь к своей ветке "stage", он говорит, что я опережаю удаленную ветку на 5 коммитов.Я git log origin/stage, и он не показывает ни одного из пяти коммитов, которые я только что извлек из этого репозитория (единственного удаленного репозитория в этом проекте).git log stage показывает пять коммитов в моей локальной ветке «stage», поэтому я в растерянности от того, как удаленная ветвь могла вернуться в прошлое сразу после того, как обслужила меня последние коммиты моего партнера.

I 'Я довольно новичок в этом, поэтому я буду признателен за ваше терпение, поскольку я все еще пытаюсь понять DCVS, и есть большая вероятность, что я просто неправильно понимаю что-то действительно простое.

1 Ответ

14 голосов
/ 29 октября 2010

Попробуйте эту команду:

git log origin/stage..stage

Это покажет вам, что вы впереди пульта.Сделайте git rebase origin/stage / git push в зависимости от ситуации.

Если это не поможет, посмотрите на этот вопрос: 'git pull origin mybranch' оставляет локальный mybranch N коммитов раньше, чем origin.Почему?

...