5 Stimmen

Unterschied zwischen einem $ git pull und einem $ hg pull

Steve Losh: Ein Leitfaden zur Verzweigung in Mercurial -

Mercurial pusht/zieht standardmäßig alle Zweige, während Git nur den aktuellen Zweig pusht/zieht.

Ich frage mich, ob ich das richtig verstanden habe:

Mir ist aufgefallen, dass ich, wenn ich eine git pull Ich habe tatsächlich tun fetch aus allen Branchen außer der merge geschieht nur mit dem aktuellen Zweig, in dem ich mich befinde. Das ist sehr nahe bei mercurial wobei a pull holt mir alles von der Fernbedienung; aber macht pas merge noch nichts.

Sur mercurial a push sendet alles, aber eine explizite update ist erforderlich, um die Dinge wieder zusammenzuführen. Ich bin mir nicht ganz sicher über git' Verhalten der push Betrieb.

4voto

Cydonia7 Punkte 3624

In Git müssen Sie alle Zweige nacheinander ziehen/schieben. So können Sie an lokalen Zweigen arbeiten, ohne den Server zu stören.

Sie können jedes Mal angeben, welchen Zweig Sie ziehen/schieben wollen: git push origin master bedeutet, dass Sie Ihren Zweigmaster auf den Ursprungsserver pushen wollen, der oft der "Standard"-Server ist.

0voto

manojlds Punkte 273771

Was passiert, wenn git pull ohne Refspec durchgeführt wird, basiert auf der Konfiguration (aus dem Abschnitt "Standardverhalten" im Handbuch von git-pull):

Um zu bestimmen, welche entfernten Zweige geholt (und optional in den entfernten Verzweigungen gespeichert) werden sollen, wenn der Befehl ohne refspec-Parameter auf der Kommandozeile ausgeführt wird, werden die Werte der Konfigurationsvariablen remote..fetch konsultiert, und wenn es keine gibt, wird die Datei $GIT_DIR/remotes/ konsultiert und ihre Pull: Zeilen verwendet werden. Zusätzlich zu den im Abschnitt OPTIONEN beschriebenen refspec-Formaten können Sie eine globbing refspec haben, die wie folgt aussieht:

refs/heads/ :refs/remotes/origin/

http://www.kernel.org/pub/software/scm/git/docs/git-pull.html

Wiederum wird das, was durch git push hängt von der Konfiguration (und den Parametern) ab

Ohne zusätzliche Konfiguration, funktioniert wie git push origin : .

Das Standardverhalten dieses Befehls, wenn no angegeben wird, kann durch Setzen der Option push der Fernbedienung konfiguriert werden.

Um zum Beispiel standardmäßig nur den aktuellen Zweig an den Ursprung zu übertragen, verwenden Sie git config remote.origin.push HEAD. Jede gültige Datei kann als Standard für git push origin konfiguriert werden.

http://kernel.org/pub/software/scm/git/docs/git-push.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X