Git - Ziehen aus einem bestimmten Zweig


197

Ich habe ein Git-Repository auf meinen Dev-Server geklont und dann zum Dev-Zweig gewechselt, aber jetzt kann ich keinen Git-Pull ausführen, um den Zweig zu aktualisieren.

Wie aktualisiere ich den Code auf dem Server?

Antworten:


258

Siehe die git-pull-Manpage :

git pull [options] [<repository> [<refspec>...]]

und im Beispielabschnitt:

Führen Sie den Remote-Zweig als Nächstes in den aktuellen Zweig ein:

$ git pull origin next

Ich stelle mir also vor, Sie möchten etwas tun wie:

git pull origin dev

So richten Sie es so ein, dass es dies standardmäßig tut, während Sie sich im Entwicklungszweig befinden:

git branch --set-upstream-to dev origin/dev

6
"Das --set-upstreamFlag ist veraltet und wird entfernt. Erwägen Sie, Remote-Zweigentwickler vom Ursprung aus zu verfolgen --trackoder --set-upstream-to Branch deveinzurichten." Z.B. git branch --set-upstream-to origin/dev
Nagendra Rao

Bearbeiten Sie dies, um die Ablehnung von --set-upstream?
Scott Skiles

Persönlich interessiert mich der Ablauf, wenn ich einen bestimmten Zweig aus dem Ursprung ziehen möchte, der noch nicht abgerufen wurde, und dieses Objekt auf einen separaten Zweig setzen möchte, damit mein aktueller Zweig nicht mit dem zusammengeführt wird, was ich ziehe.
Yuriy Pozniak

43

Hier ist was Sie tun müssen. Stellen Sie zunächst sicher, dass Sie sich in einem Zweig befinden, den Sie nicht ziehen möchten. Wenn Sie beispielsweise einen Master- und einen Entwicklungszweig haben und versuchen, den Entwicklungszweig abzurufen, bleiben Sie im Hauptzweig.

git checkout master

Dann,

git pull origin develop

5
Das ist verwirrend. Wenn ich einen entfernten "dev" -Zweig in einen lokalen "dev" -Zweig ziehen möchte, würde ich denken, dass Sie im lokalen "dev" -Zweig und nicht in einem anderen Zweig bleiben müssen.
Roman

2
Ruft dies nicht den Remote-Entwicklungszweig ab und führt ihn dann mit Ihrem lokalen Master zusammen?
Brad P.

2
Ich habe git checkout developund git pull origin developund habe gut gearbeitet. Sie müssten einen anderen Zweig git branch -d developgit push origin --delete develop
auschecken,

sehr verwirrend. Ich habe gerade den Zweig, den ich testen wollte, vor Ort zum Master zusammengeführt :)
Fabian Bosler

Wie @roman sagt, muss man in der lokalen Niederlassung sein.
woter324

15

Es ist oft klarer, die beiden Aktionen zu trennen git pull. Als erstes wird der lokale Tracking-Branc aktualisiert, der dem Remote-Zweig entspricht. Dies kann mit gemacht werden git fetch. Das zweite ist, dass es dann in Änderungen zusammengeführt wird, was natürlich möglich ist git merge, obwohl andere Optionen, wie sie git rebasegelegentlich nützlich sind.


7

Beispiel für eine Laravel-Dokumentation:

git pull https://github.com/laravel/docs.git 5.8

basierend auf dem Befehlsformat:

git pull origin <branch>

👍


4

Hier sind die Schritte zum Ziehen eines bestimmten oder eines beliebigen Zweigs:

1.Klonen Sie den Master (Sie müssen Benutzername und Passwort angeben)

       git clone <url>

2. Der obige Befehl klont das Repository und Sie sind jetzt der Hauptzweig

       git checkout <branch which is present in the remote repository(origin)>

3. Der obige Befehl checkt zu dem Zweig aus, den Sie ziehen möchten, und wird so eingestellt, dass dieser Zweig automatisch verfolgt wird

4.Wenn dies aus irgendeinem Grund nicht funktioniert, führen Sie nach dem Auschecken in diesen Zweig in Ihrem lokalen System einfach den folgenden Befehl aus

       git pull origin <branch>

1

Sie können den Git-Zweig aktualisieren / ziehen, den Sie unter dem folgenden Befehl verwenden können

git pull origin <branch-name>

Der obige Befehl wird aktualisiert / abgerufen, wenn der Zweigstellenname angegeben wird

Wenn Sie von einem anderen Zweig ziehen möchten, müssen Sie zu diesem Zweig gehen.

git checkout master

Als

git pull origin development

Hoffe das wird für dich funktionieren


0

git-pull - Abrufen von und Integration in ein anderes Repository oder einen lokalen Zweig

git pull [options] [<repository> [<refspec>...]]

Sie können auf das offizielle Git-Dokument https://git-scm.com/docs/git-pull verweisen

Ex :

git pull origin dev


Inwiefern unterscheidet sich Ihre Antwort von den anderen bereits veröffentlichten?
j08691

Ja, nicht viel, nur offizielle Dokumente ( git-scm.com/docs/git-pull ), so dass Sie viele Optionen erkunden können.
Sesha

0

Wenn Sie aus einem bestimmten Zweig ziehen möchten, müssen Sie nur noch etwas tun

git pull 'remote_name' 'branch_name'

HINWEIS: Stellen Sie sicher, dass Sie zuerst Ihren Code festschreiben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.