Git
Chapters ▾ 2nd Edition

A3.5 Appendix C: Git Kommandos - Projekte gemeinsam nutzen und aktualisieren

Projekte gemeinsam nutzen und aktualisieren

Es gibt nicht besonders viele Befehle in Git, die auf das Netzwerk zugreifen, fast alle Befehle arbeiten mit der lokalen Datenbank. Wenn Sie Ihre Arbeit freigeben oder Änderungen von anderswo beziehen wollen, gibt es eine kleine Anzahl von Befehlen, die sich mit Remote-Repositorys beschäftigen.

git fetch

Der Befehl git fetch kommuniziert mit einem entfernten Repository und holt alle Informationen, die sich in diesem Repository befinden, aber nicht in Ihrem aktuellen Repository und speichert sie in Ihrer lokalen Datenbank.

Wir sehen uns diesen Befehl zunächst in Fetchen und Pullen von Ihren Remotes an und betrachten anschließend weitere Beispiele für seine Verwendung in Remote-Branches.

Wir benutzen ihn auch bei einigen Beispielen in An einem Projekt mitwirken.

Wir verwenden ihn in Pull Request Refs (Referenzen), um eine einzelne konkrete Referenz zu beziehen, die außerhalb des standardmäßigen Bereichs liegt und wir sehen, in Bundling, wie man sie aus einem Packet herausholen kann.

Wir richten in Die Referenzspezifikation (engl. Refspec) eigene Referenzspezifikationen ein, damit git fetch etwas anderes als die Standardeinstellung macht.

git pull

Der git pull Befehl ist im Grunde eine Kombination aus den git fetch und git merge Befehlen, wobei Git von dem angegebenen Remote holt und dann sofort versucht, es in den Branch, auf dem Sie gerade sind, zu integrieren.

Wir führen ihn in Fetchen und Pullen von Ihren Remotes ein und zeigen in Inspizieren eines Remotes auf, was alles gemergt wird, wenn Sie ihn benutzen.

Wir erfahren in Rebasen, wenn Sie Rebase durchführen auch, wie Sie damit bei Schwierigkeiten während des Rebasings umgehen können.

Wir zeigen in Remote Branches auschecken, wie man ihn mit einer URL verwendet, um Änderungen einmalig einzupflegen.

Schließlich erwähnen wir in Commits signieren noch kurz, wie Sie die Option --verify-signatures verwenden können, um beim Abrufen/Pullen von Commits überprüfen können, ob diese mit GPG signiert wurden.

git push

Der git push Befehl wird benutzt, um mit einem anderen Repository zu kommunizieren, zu ermitteln, was die lokale Datenbank enthält, die die entfernte nicht hat und dann die Differenz in das entfernte Repository zu pushen. Es erfordert Schreibzugriff auf das entfernte Repository und wird daher in der Regel auf irgend eine Weise authentifiziert.

Wir sehen uns zuerst den git push Befehl in Zu Ihren Remotes Pushen an. Hier beschreiben wir die grundlegenden Aspekte des Pushens einer Branch zu einem Remote-Repository. In Pushing/Hochladen gehen wir ein wenig detaillierter auf das Pushen bestimmter Branches ein und in Tracking-Branches sehen wir, wie man Tracking-Branches einrichtet, um dorthin automatisch zu pushen. In Remote-Branches Entfernern benutzen wir die Option --delete, um einen Branch auf dem Server mit git push zu löschen.

Im Kapitel 5 An einem Projekt mitwirken können Sie einige Beispiele für die Verwendung von git push finden,wie Sie Ihre Arbeit an Branches mit mehreren Remotes teilen können.

Wir sehen in Tags freigeben, wie Sie diesen Befehl benutzen können, um Tags, die Sie mit der --tags Option erstellt haben, gemeinsam zu nutzen.

In Änderungen am Submodul veröffentlichen verwenden wir die Option --recurse-submodules, um zu überprüfen, ob alle unsere Submodule funktionieren, bevor wir zum Hauptprojekt pushen, was bei der Verwendung von Submodulen sehr hilfreich sein kann.

In Andere Client-Hooks sprechen wir kurz über den pre-push Hook, ein Skript, das wir so einrichten können, dass es vor dem Abschluss eines Pushs ausgeführt wird, um zu prüfen, ob es zulässig sein sollte, zu pushen.

Schließlich betrachten wir in Pushende Refspecs das Pushen mit einer vollständigen Referenzspezifikation (engl. refspec) anstelle der allgemeinen Abkürzungen, die normalerweise verwendet werden. Das kann Ihnen helfen, sehr spezifisch zu entscheiden, welche Arbeit Sie teilen möchten.

git remote

Der Befehl git remote ist ein Management-Tool für die Verwaltung Ihrer Datensätze in Remote-Repositorys. Er erlaubt Ihnen, lange URLs als kurze Handles zu speichern, wie z.B. „origin“, damit Sie diese nicht ständig abtippen müssen. Sie können auch mehrere solcher Adressen einrichten und der Befehl git remote wird verwendet, um sie hinzuzufügen, zu ändern oder zu löschen.

Dieser Befehl wird ausführlich in Mit Remotes arbeiten behandelt, einschließlich des Auflistens, Hinzufügens, Entfernens und Umbenennens.

Er wird auch in fast jedem der nachfolgenden Kapitel des Buchs verwendet, aber immer im Standardformat git remote add <name> <url>.

git archive

Der Befehl git archive wird verwendet, um eine Archivdatei von einem bestimmten Snapshot des Projekts zu erstellen.

Wir benutzen git archive in Ein Release vorbereiten, um einen Tarball eines Projektes für die gemeinsame Nutzung zu erstellen.

git submodule

Der Befehl git submodule dient dazu, externe Repositorys innerhalb eines normalen Repositorys zu verwalten. Das kann für Bibliotheken oder andere Arten von gemeinsam genutzten Ressourcen nötig sein. Das submodule Kommando hat mehrere Unterbefehle (add, update, sync, usw.) für die Verwaltung dieser Ressourcen.

Dieser Befehl wird nur in Submodule erwähnt und dort ausführlich beschrieben.