Unterschiede zwischen Commit, Commit und Push, Commit und Sync

148

Ich verwende Visual Studio 2013 und habe drei Optionen, wenn ich meinen C # -Code festschreibe. Ich benötige eine Erklärung der Unterschiede zwischen den einzelnen Optionen in Bezug darauf, was mit meinem lokalen Repo und dem GitHub-Repo passiert.

  • Option 1 sagt Commit
  • Option 2 lautet Commit and Push
  • Option 3 lautet Commit and Sync

Ich verstehe den Unterschied zwischen den letzten beiden Optionen nicht ganz. Wann sollte ich Commit und Sync im Gegensatz zu Commit und Push verwenden?

Alfred Waligo
quelle

Antworten:

215
  1. Commit zeichnet einfach Ihre Änderungen auf, die Sie auf Ihrem lokalen Computer vorgenommen haben. Die Änderung im Remote-Repository wird nicht markiert.
  2. Commit and Push führt die oben genannten Schritte aus und überträgt sie an das Remote-Repository. Dies bedeutet, dass alle von Ihnen vorgenommenen Änderungen auch im Remote-Repository gespeichert werden.
  3. Commit and Sync macht drei Dinge. Erstens wird es festschreiben. Zweitens wird ein Pull ausgeführt (die aktualisierten Informationen werden vom Remote-Repo abgerufen). Schließlich wird es schieben.

Weitere Informationen von Microsoft finden Sie hier

Camiblanch
quelle
Ich bekomme das "Commit and Sync" wirklich nicht. Zuerst wird es festgeschrieben. Zweitens wird ein Zug ausgeführt. Schließlich wird gedrückt. Warum hier Push erforderlich, wenn Codeänderungen bereits in das Remote-Repository übernommen wurden (Keine Push-Änderungen).
Bhuwan Pandey
6
@BhuwanPandey Das Ausführen eines "Commits" beinhaltet keinen "Push". Sie sind getrennt. Nur ein "Push" aktualisiert Ihr Commit für das Remote-Repository. Sehen Sie sich das Bild in der anderen Antwort an, um das zu sehen. Das "Commit" wechselt vom Index zum lokalen Repository, während "Push" beendet wird, indem vom lokalen Repository zum Remote-Repository
gewechselt wird
Kann der Synchronisierungsvorgang Konflikte verursachen, wenn mehrere Benutzer gleichzeitig an der Anwendung arbeiten?
Murali Dhar Darshan
Ich verwende Visual Studio 2017 und der Befehl Commit and Sync überträgt Ihre Änderungen nicht vollständig. Ich sage, dass meine Änderungen beim Durchführen einer Synchronisierung in Visual Studio auf der Registerkarte "Verlauf" angezeigt werden, auf der Github-Site jedoch nicht angezeigt werden. Ich musste nach Commig und Sync einen Push-Befehl ausführen, und dann wurden meine Änderungen auf der Github-Site angezeigt.
Fabiano
Ich denke, Verwirrung entsteht durch den Gedanken, dass Commit Dateien an das Remote-Repository sendet. Tatsächlich zeichnet Commit Ihre Änderungen lediglich im lokalen Repository auf. Ohne Push trifft es niemals den Server.
Alan Baljeu
72

Zur Antwort von camieblanch hinzufügen. Ich habe dieses hilfreiche Bild / Post von Tanascius gefunden ( hier ). "Hier ist ein schönes Bild von Oliver Steele, das das Git-Modell und die Befehle erklärt:" Geben Sie hier die Bildbeschreibung ein

A. Sharif
quelle
1
Aber wo ist Sync auf diesem Bild?
Alan Baljeu
2
Es existiert nicht auf dem Bild. Wenn Sie auf die Antwort von "camiblanch" zurückgreifen. Es wird auf Ihr lokales Repo festgeschrieben, gezogen, um das Remote-Repo mit Ihrem lokalen Repo zu synchronisieren (zusammenzuführen), und dann wird das zusammengeführte lokale Repo auf das Remote-Repo übertragen.
A. Sharif