2010-10-11 15 views
9

Używam repozytorium git na serwerze do tworzenia kopii zapasowych, i popchnę lokalne zmiany tam z 'git push' po wykonaniu 'git commit' lokalnie.git: Dlaczego wyprzedzam origin/master z X commitami po tym, jak zrobiłem "git push"?

'stan git' mówi mi

# On branch master 
# Your branch is ahead of 'origin/master' by X commits. 

Gdybym zmodyfikować plik, a następnie zrobić kolejny commit następnie push, git mówi mi, że mój oddział wyprzedza przez X + 1 zobowiązuje. "git remote show origin" pokazuje mi, że zarówno pobieranie, jak i przeciąganie adresów URL są takie same jak te, które dostarczam jako argument do przekazania.

Sprawdziłem, czy moje zmiany rzeczywiście zostały przekazane do repozytorium serwerów (przez pociągnięcie do innej lokalizacji i sprawdzenie zawartości).

Co ja tu robię źle?

PS: Jestem świadomy, że istnieje wiele powiązanych pytań tutaj na SO, ale nie mogłem znaleźć odpowiedzi na mój konkretny problem w żadnym z nich. Proszę wskazać mi właściwy kierunek, jeśli się mylę w tym względzie.

+0

nie mam dla ciebie odpowiedź, ale chcę, żebyś wiedział, że nie jesteś sam! Czasami widzę tę wiadomość, a jeśli wykonam pull/push, nawet jeśli nic nie wydaje się być przeniesione, to znika. –

+3

Czy próbowałeś uruchomić "git fetch origin" po naciśnięciu? Może zdalny oddział nie jest aktualizowany po naciśnięciu. –

+0

@ François, w rzeczy samej, tak samo jak w przypadku pchania, jest to nazwa referencyjna, która ma znaczenie (aby ją zaktualizować). – Bruno

Odpowiedz

6

Wygląda na to, że naciskasz bezpośrednio na adres URL. Wypróbuj git push origin, spowoduje to aktualizację odniesień do origin (w zasadzie możesz mieć te same adresy URL dwa razy o tej samej nazwie referencyjnej: wiadomość odnosi się do nazwy referencyjnej).

+0

Dziękuję, że się tym zajął! – Eyvind

1

Czasami wpadniesz na to, nawet jeśli w rzeczywistości nie masz lokalnych zatwierdzeń. Jeśli utkniesz, a

git pull origin [branch] 

nie pomóc, po prostu spróbuj

git pull origin and git pull 

Polecenia te należy ustawić repo prosto i wyjaśnić swój problem bycia przed pochodzenia/Master przez X zatwierdza.

0

Zauważyłem, że aktualizowanie informacji o śledzeniu "pochodzenia" również działa.

Spróbuj:

git fetch origin