2010-10-11 4 views
9

Ich benutze ein nacktes git-Repository auf einem Server für die Sicherung und pushen lokale Änderungen dort mit 'git push', nachdem 'git commit' lokal ausgeführt wurde.git: Warum bin ich vor dem Ursprung/Meister mit X commits nachdem ich 'git push' mache?

'git status' sagt mir

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

Wenn ich eine Datei ändern, und dann noch tun, indem Sie einen Push gefolgt commit, git sagt mir, dass mein Zweig voraus ist von X + 1 Commits. 'git remote show origin' zeigt mir, dass URLs zum Abrufen und zum Abrufen die gleichen sind, die ich als Argument zum Push-Vorgang verwende.

Ich habe überprüft, dass meine Änderungen tatsächlich in das Server-Repository übertragen werden (indem an einen anderen Ort gezogen und der Inhalt überprüft wird).

Was mache ich hier falsch?

PS: Ich bin mir bewusst, dass es hier einige ähnliche Fragen zu SO gibt, aber ich konnte keine Antwort auf mein spezielles Problem finden. Bitte weisen Sie mich in die richtige Richtung, wenn ich in dieser Hinsicht falsch liege.

+0

Ich habe keine Antwort für Sie, aber ich will dich, du bist nicht allein wissen! Manchmal sehe ich diese Nachricht, und wenn ich einen Pull/Push mache, obwohl nichts übertragen zu werden scheint, geht das weg. –

+3

hast du versucht, 'git fetch ursprung' nach dem pushen auszuführen? Vielleicht wird der Remote-Zweig nach dem Push nicht aktualisiert. –

+0

@ Francois, in der Tat, genau wie beim Schieben, ist es der Referenzname, der zählt (um ihn zu aktualisieren). – Bruno

Antwort

6

Es klingt, als würden Sie direkt auf die URL drücken. Versuchen Sie git push origin, dies aktualisiert die Referenzen für origin (im Prinzip können Sie die gleichen URLs zweimal mit dem gleichen Referenznamen haben: die Nachricht bezieht sich auf den Referenznamen).

+0

Danke, das hat sich darum gekümmert! – Eyvind

1

Manchmal werden Sie auf diese Tatsache stoßen, obwohl Sie keine lokalen Commits haben. Wenn Sie nicht sind, und ein

git pull origin [branch] 

hilft Ihnen nicht, versuchen Sie einfach

git pull origin and git pull 

Diese Befehle Ihre Repo gerade und Klärung Ihrer Frage des Seins vor origin/master gesetzt sollte durch X commits.

0

Ich habe festgestellt, dass die Aktualisierung Ihrer Tracking-Informationen von "Herkunft" auch funktioniert.

Versuchen:

git fetch origin