Wie kommen "git pull origin master" nicht wirklich ändern, die Dateien in meinem computer-Verzeichnis?
Bin ja noch ganz neu auf Github, aber ich bin in einer position, wo ich aktiv benutzen.
Na ja, ich habe "git pull upstream-master" zu ziehen und Zusammenführen, der neueste code für das Projekt an dem ich arbeite. Ich dachte, dieser Befehl aktualisiert werden würde, die tatsächlichen Dateien, die auf meinem computer (diejenigen, die in dem Verzeichnis angezeigt, etc.), aber stattdessen passiert nichts.
Sicher, dass die Konsole erwähnt, viele Veränderungen, aber keiner von Ihnen schien zu geschehen. Als ein experiment, ich habe sogar alles gelöscht, was von einer der Dateien und neu gezogen, um zu sehen, ob dies würde sich ändern, aber ich bekomme "schon" up-do-date".
Wenn es hilft, ich tippte in git branch -v
- und bekam die folgende:
* master a2e10a4 [ahead 29] git workflow experiment
Auch git status
gibt die folgenden:
# On branch master
# Your branch is ahead of 'origin/master' by 29 commits.
#
nothing to commit (working directory clean)
Als ein letzter Hinweis, meine einzige Zweig master.
Was ist passiert und wie bekomme ich "gezogen" ändert sich zu zeigen, bis auf mein Verzeichnis/computer?
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vermute master ist nicht tracking -
upstream/master
(wie hier), was bedeutet, einegit pull upstream master
nur holt Begehen vonupstream
, aber nicht merge nichts.Könnten Sie diese manuell Zusammenführen:
git merge upstream/master
.Plus,
upstream
ist nichtorigin
, undmaster
ist vorn vomorigin/master
: nichts, hierher zu ziehen, nur 29 neue commits, push-to-origin (die Gabel, das ist Ihr Klon von der vorgelagerten auf die GitHub-server-side: siehe "Was ist der Unterschied zwischen Herkunfts-und upstream im github").Den Befehl, den Sie eingegeben haben, war
git pull upstream master
. Dieser Befehl holt und dann führt änderungen von upstream-zu Ihrer Zweigstelle.Den
git status
Meldung zeigt an, dass alles in Ihrem upstream hat bereits zusammengeführt mit Ihrem lokalen master. Aber Sie haben nicht geschoben Ihre änderungen an das remote noch nicht. In anderen Worten, Sie haben verpflichtet, Ihre änderungen in das lokale repository, aber Sie haben nicht geschoben Sie auf die remote noch nicht. In einem verteilten VCS wie git,commit
undpush
sind nicht das gleiche.Typ
git push origin master
senden Sie Ihre änderungen an den upstream-Fernbedienung. Dies wird alles synchronisiert bis.Wenn das nicht funktioniert, müssen Sie möglicherweise rebase deiner lokalen repository. Zur Festsetzung der remote-origin-unter Ihrer Arbeit vor Ort, geben
git pull -r origin master
. Geben Sie danngit push origin master
.Wenn Sie nicht sicher sind, ob Sie bereit sind, zu schieben oder nicht, können Sie immer einen trockenen Lauf mit
git push origin master --dry-run
und keine Ihrer änderungen wird eigentlich geschoben werden.git pull -r origin master
für mich gearbeitet. Dank