2016-05-25 4 views
0

Ich bin neu für Github und überprüfe viele Beispiele für das Holen und Ziehen von Dateien vom Git-Server. Aber mein Fetch-Befehl funktioniert nie, mein Pull-Befehl funktioniert und er lädt neue Dateien auf mein System herunter. Ist der Abrufbefehl nicht in der Lage, Dateien in das System herunterzuladen?git fetch funktioniert nicht zum Abrufen neuer Dateien

Antwort

0

Sie müssen den Unterschied zwischen Abrufen und Ziehen verstehen. Wenn Sie das tun ein holen:

git fetch 

aktualisieren Sie alle lokalen Niederlassungen in Git Ordner zu verfolgen. Die Verfolgungszweige sind Ihre lokale Kopie dessen, was sich tatsächlich im Repository befindet, und es sind diese Zweige, die Git für die meisten Operationen verwendet. Dies bedeutet, dass jeder Tracking-Zweig nun mit den neuesten Änderungen von GitHub synchronisiert ist. Dies bedeutet jedoch nicht bedeuten, dass die lokale Zweig, den Sie haben, jetzt auf dem neuesten Stand ist. Um Ihre lokale Niederlassung auf den neuesten Stand zu bringen, müssen Sie entweder merge oder Rebase, die auf dem Remote-Tracking-Zweig verzweigen.

Angenommen, Sie sind auf dem master Zweig, können Sie sich erinnern, was git pull tun wie folgt:

git pull = git fetch + git merge origin/master 

Mit anderen Worten, es gibt hier verschmelzen, um tatsächlich die Änderungen aus der Remote-Repository in Ihrer lokale Niederlassung zu erhalten. Sie könnten auch Rebase Ihre lokale Niederlassung auf der Version in der Fernbedienung über git pull --rebase master.

Also die Antwort auf Ihre Frage ist, dass der Abruf-Befehl absolut Änderungen von der Remote auf Ihr System bringt, aber Sie müssen zusätzlich zusammenführen oder Rebase, um Ihre lokalen Arbeitszweig zu aktualisieren.

+0

Seltsam, wenn ich "git merge Herkunft/Master (oder meine Branche)" dann funktioniert es nach fetch, aber ich sehe in anderen Links "git merge Herkunft Master" es funktioniert nicht. – steven

+0

'git merge origin master' bedeutet, dass Sie Ihren lokalen Zweig in sich zusammenführen. Dies ergibt logisch keinen Sinn. "Ursprung/Master" ist die lokale Version des Remote-Zweigs und dies ist, was Sie in Ihren lokalen Zweig zusammenführen möchten. –

+0

oks. Vielen Dank...... – steven

Verwandte Themen