In einem Git-Tutorial, das ich gerade durchlaufe, git commit
werden die von Ihnen vorgenommenen Änderungen gespeichert.
Wofür wird git push
dann verwendet?
In einem Git-Tutorial, das ich gerade durchlaufe, git commit
werden die von Ihnen vorgenommenen Änderungen gespeichert.
Wofür wird git push
dann verwendet?
Antworten:
Grundsätzlich git commit
" zeichnet Änderungen am Repository auf ", während git push
" Remote-Refs zusammen mit zugehörigen Objekten aktualisiert werden ". Das erste wird also in Verbindung mit Ihrem lokalen Repository verwendet, während das letztere für die Interaktion mit einem Remote-Repository verwendet wird.
Hier ist ein schönes Bild von Oliver Steele , das das Git-Modell und die Befehle erklärt:
Lesen Sie mehr über git push
und git pull
auf GitReady.com (der Artikel, auf den ich mich zuerst bezog)
git push
arbeiten können. In Wirklichkeit das Ziel git push
kann jede Git Repository. Es kann sich auf Ihrer eigenen lokalen Festplatte in einem anderen Verzeichnis ( git remote add clone ~/proj/clone.git; git push clone master
oder git push ~/proj/clone.git master
zum Beispiel) oder in einem Git-Repository befinden, das Ihr eigener Host bedient.
Im Grunde genommen speichert git commit Ihre Änderungen in Ihrem lokalen Repo, während git push Ihre Änderungen an den Remote-Standort sendet.
git push
lädt die tatsächlichen aktualisierten Dateien oder eine spezielle „diff“ Datei?
git push
wird verwendet, um Commits, die Sie im lokalen Repository vorgenommen haben, zu einem Remote-Repository hinzuzufügen. Zusammen mit git pull
ermöglicht es den Mitarbeitern, zusammenzuarbeiten.
Da git ein verteiltes Versionskontrollsystem ist, besteht der Unterschied darin, dass durch das Festschreiben Änderungen an Ihrem lokalen Repository festgeschrieben werden, während durch das Drücken Änderungen an ein Remote-Repo übertragen werden.
Festschreiben : Snapshot | Änderungssatz | History_record | Version | 'Speichern unter' eines Repositorys. Git-Repository = Reihe (Baum) von Commits .
Lokales Repository: Repository auf Ihrem Computer.
Remote- Repository: Repository auf einem Server ( Github ).
git commit
: Hängen Sie ein neues Commit (letztes Commit + bereitgestellte Änderungen) an das lokale Repository an. (Alle Commits werden in gespeichert /.git
)
git push
, git pull
: Synchronisieren Sie das lokale Repository mit dem zugehörigen Remote- Repository. push
- Änderungen von lokal auf remotepull
anwenden , - Änderungen von remote auf lokal anwenden .
git commit
Notieren Sie Ihre Änderungen im lokalen Repository.
git push
Aktualisieren Sie das Remote- Repository mit Ihren lokalen Änderungen.
Drei Dinge zu beachten:
1) Arbeitsverzeichnis ----- Ordner, in dem unsere Codedatei vorhanden ist
2) Lokales Repository ------ Dies befindet sich in unserem System. Wenn wir zum ersten Mal den Befehl COMMIT ausführen, wird dieses lokale Repository erstellt. An derselben Stelle, an der sich unser Arbeitsverzeichnis befindet, wird die
Checkit-Datei (.git) erstellt.
Wenn danach ein Commit durchgeführt wird, werden die Änderungen, die wir in der Datei des Arbeitsverzeichnisses vorgenommen haben, im lokalen Repository (.git) gespeichert.
3) Remote Repository ----- Dieses befindet sich außerhalb unseres Systems wie auf Servern auf der ganzen Welt. wie Github. Wenn wir den PUSH-Befehl ausführen, werden Codes aus unserem lokalen Repository in diesem Remote-Repository gespeichert
Ich möchte nur die folgenden Punkte hinzufügen:
Sie können nicht pushen, bis Sie ein Commit durchführen, da wir git push
Commits, die in Ihrem lokalen Zweig vorgenommen wurden, in ein Remote-Repository pushen.
Der git push
Befehl akzeptiert zwei Argumente:
Ein entfernter Name, z. B. origin
Ein Filialname, z.master
Zum Beispiel:
git push <REMOTENAME> <BRANCHNAME>
git push origin master
Eine sehr grobe Analogie: Wenn wir mit git commit
dem Speichern einer bearbeiteten Datei vergleichen , wird git push
diese Datei an einen anderen Speicherort kopiert.
Bitte nehmen Sie diese Analogie nicht aus diesem Kontext heraus - Festschreiben und Pushing sind nicht ganz so, als würden Sie eine bearbeitete Datei speichern und kopieren. Das heißt, es sollte für Vergleiche gelten.
Es ist einfacher, die Verwendung der git-Befehle zu verstehen, add
und commit
wenn Sie sich vorstellen, dass eine Protokolldatei in Ihrem Repository auf Github verwaltet wird. Die Protokolldatei eines typischen Projekts sieht für mich möglicherweise folgendermaßen aus:
---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2
Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------
---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on
Normalerweise beginne ich meinen Tag mit einer git pull
Anfrage und beende ihn mit einer git push
Anfrage. Alles in einem Tagesbericht entspricht also dem, was zwischen ihnen passiert. Während eines jeden Tages erledige ich eine oder mehrere logische Aufgaben , bei denen einige Dateien geändert werden müssen. Die während dieser Aufgabe bearbeiteten Dateien werden in einem Index aufgelistet.
Jede dieser Unteraufgaben (Aufgabe A und Aufgabe B hier) sind individuelle Commits. Der git add
Befehl fügt Dateien zur Liste "Index der geänderten Dateien" hinzu. Dieser Prozess wird auch als Staging bezeichnet und zeichnet in Wirklichkeit geänderte Dateien und die durchgeführten Änderungen auf. Der git commit
Befehl zeichnet die Änderungen und die entsprechende Indexliste zusammen mit einer benutzerdefinierten Nachricht auf, die zur späteren Bezugnahme verwendet werden kann.
Denken Sie daran, dass Sie immer noch nur die lokale Kopie Ihres Repositorys ändern und nicht die auf Github. Danach werden nur dann, wenn Sie git push
alle diese aufgezeichneten Änderungen zusammen mit Ihren Indexdateien für jedes Commit ausführen, im Hauptrepository (auf Github) protokolliert.
Um beispielsweise den zweiten Eintrag in dieser imaginären Protokolldatei zu erhalten, hätte ich Folgendes getan:
git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push
Kurz gesagt, git add
und git commit
Sie können eine Änderung am Haupt-Repository in systematische logische Unteränderungen aufteilen. Wie andere Antworten und Kommentare gezeigt haben, gibt es natürlich noch viel mehr Verwendungszwecke. Dies ist jedoch eine der häufigsten Anwendungen und ein treibendes Prinzip hinter Git, da es sich im Gegensatz zu anderen gängigen Systemen wie Svn um ein mehrstufiges Revisionskontrollsystem handelt.
Git Commit ist nichts anderes als das offizielle Speichern unserer Änderungen. Für jedes Commit, das wir Commit-Nachrichten senden, können wir es nach Abschluss der Commits auf Remote übertragen, um unsere Änderungen global zu sehen
Dies bedeutet, dass wir zahlreiche Commits ausführen können, bevor wir auf Remote übertragen (wir können die Liste der aufgetretenen Commits und auch die Nachrichten sehen). git speichert jedes Commit mit einer Commit-ID, die ein 40-stelliger Code ist
und ich benutze git push nur, wenn ich meine Änderung in remote sehen wollte (danach werde ich prüfen, ob mein Code in Jenkins funktioniert hat)
Im Grunde genommen speichert git commit Ihre Änderungen in Ihrem lokalen Repo, während git push Ihre Änderungen an den Remote-Standort sendet. Da git ein verteiltes Versionskontrollsystem ist, besteht der Unterschied darin, dass durch das Festschreiben Änderungen an Ihrem lokalen Repository festgeschrieben werden, während durch das Drücken Änderungen an ein Remote-Repo übertragen werden
Quelle Google
http://gitref.org/basic/ Dieser Link wird auch sehr nützlich sein
Für Laien git commit
ist dies der Schritt, bevor git push
Sie sie in dieser Reihenfolge ausführen, um Ihre Datei erfolgreich an github zu senden.
git commit
ist das Festschreiben der Dateien, die im lokalen Repo bereitgestellt werden. git push
besteht darin, den Hauptzweig der lokalen Seite schnell mit dem entfernten Hauptzweig zusammenzuführen. Die Fusion wird jedoch nicht immer erfolgreich sein. Wenn Ablehnung erscheint, müssen Sie, pull
damit Sie eine erfolgreiche machen können git push
.