web-dev-qa-db-de.com

TortoiseGit: Was ist der Unterschied zwischen "Git Sync", "Fetch" und "Pull"?

Ich wechsele von TortoiseSvn zu TortoiseGit. Aber es gab einige unerwartete Schwierigkeiten.

Mein Arbeitsparadigma ist so einfach wie:

  1. Code auschecken
  2. Ändern Sie einen Code
  3. Teilen Sie mit anderen zur Codeüberprüfung
  4. Änderungen übernehmen

Warum sollten Sie sich die Mühe machen, die folgenden 3 syntactically-ähnlichen Befehle zu haben?

Und Pull und Fetch teilen sich sogar das identische Symbol. Was für ein benutzerfreundliches Design!

 enter image description here

7
smwikipedia

Dies sind drei verschiedene Befehle:

  1. Git pull ist ein Git fetch, gefolgt von git merge - hier lesen
  2. Git fetch ruft Informationen über Remote-Repositorys ab - hier lesen
  3. Git sync führt alles in einem Befehl aus und bedeutet pull und Pushhier lesen

Wenn Sie den Workflow git und svn vergleichen möchten, ist git pull wie svn update. Es gibt keine direkte svn-Version von git fetch. Git sync ist wie svn up && svn commit in einem Befehl

17
Tomasz Madeyski

Sie können jederzeit einen Git-Abruf durchführen, um Ihre Fernverfolgungszweige unter refs/remotes // zu aktualisieren.

Die git fetch Operation ändert niemals Ihre eigenen lokalen Zweigstellen unter Refs/Heads - und ist ohne Änderung Ihrer Arbeitskopie sicher. Ich habe sogar von Leuten gehört, die git fetch regelmäßig in einem Cron-Job im Hintergrund laufen ließen (obwohl ich das nicht empfehlen würde).

git pull ist das, was Sie tun würden, um eine lokale Zweigstelle mit ihrer Remote -Version auf den neuesten Stand zu bringen und gleichzeitig auch Ihre anderen Fernverfolgungszweige zu aktualisieren.

0
Saurabh Oza