10 Git-Befehle, die ein Entwickler kennen sollte



In diesem Artikel werden verschiedene Git-Befehle erläutert, die für Entwickler oder Big Data-Spezialisten nützlich sein können. Sie lernen, wie Sie Ihren Code überprüfen, löschen und aufräumen. Wir werden auch nach Möglichkeiten suchen, Vim zu beenden und Zeit zu sparen, indem wir Bash-Aliase und die Konfiguration des Git-Editors verwenden.

Skillbox empfiehlt: Praktikum "Mobile Developer PRO" .

Wir erinnern Sie daran: Für alle Leser von „Habr“ - ein Rabatt von 10.000 Rubel bei der Anmeldung für einen Skillbox-Kurs mit dem Promo-Code „Habr“.

Wir überprüfen alles und jeden




  • git diff - Alle Dateiänderungen lokal anzeigen. Wenn Sie einen Dateinamen angeben, werden die Änderungen nur für diesen angezeigt.
  • Git-Protokoll - Commit-Verlauf anzeigen. Kann auch für eine Datei mit dem Git-Protokoll -p my_file verwendet werden. Geben Sie zum Beenden q ein.
  • git tad my_file - Sehen Sie, wer, was und wann in my_file geändert wurde.
  • git reflog - Zeigt das Änderungsprotokoll im lokalen Repository-Header an. Eine großartige Option, um verlorene Daten zu finden.

Mit diesen Befehlen können Sie schnell und einfach alles überprüfen, was Sie benötigen. Wenn etwas nicht stimmt, bietet Git eine Vielzahl von Optionen zum Löschen oder Zurücksetzen von Commits und Änderungen an Dateien.

Kehre zurück wie es war


  • Git Reset, Git Checkout und Git Revert sind Befehle, mit denen Aktionen rückgängig gemacht werden. Aber sie sind nicht so einfach, sie müssen damit umgehen können.
  • Git-Reset, Git-Checkout kann sowohl für Commits als auch für reguläre Dateien verwendet werden.
  • git revert wird nur für Commits verwendet.

Wenn Sie mit Ihren eigenen lokalen Commits arbeiten, die in keiner Weise mit Teamarbeit zusammenhängen, können Sie alle aufgelisteten Befehle problemlos verwenden.

Wenn Sie in einem Team arbeiten und Commits üblich sind, haben Sie die Wahl zwischen git revert.



Jedes Team hat eine ganze Reihe von Optionen. Hier sind die am häufigsten verwendeten:
git reset --hard HEAD - Indizierte und nicht indizierte Änderungen seit dem letzten Commit abbrechen.

Wir geben anstelle von HEAD ein bestimmtes Commit an, um die danach vorgenommenen Änderungen rückgängig zu machen. --hard beide oben genannten Arten von Änderungen werden verworfen.

Vergessen Sie nicht sicherzustellen, dass Sie das Commit aus dem veröffentlichten Zweig, von dem andere Teammitglieder abhängen, nicht abbrechen.

git checkout my_commit - Änderungen verwerfen my_commit.

HEAD wird häufig für my_commit verwendet, um Änderungen an Ihrem lokalen Arbeitsverzeichnis seit dem letzten Festschreiben rückgängig zu machen.

Die Kasse wird am besten für lokale Rückgängigmachungen verwendet. In diesem Fall sind die Commits aus der Remote-Niederlassung, von denen Ihre Kollegen abhängig sind, nicht betroffen!

Wenn Sie Checkout mit einem Zweig anstelle eines Commits verwenden, wechselt HEAD zum angegebenen Zweig und das Arbeitsverzeichnis wird aktualisiert, um den Änderungen zu entsprechen. Dies ist die häufigste Verwendung dieses Befehls.

git revert my_commit - macht die Konsequenzen von Änderungen an my_commit rückgängig. revert führt ein neues Commit aus, nachdem die Änderung zurückgesetzt wurde.

Das Zurücksetzen ist für allgemeine Projekte sicher, da das Team keine Änderungen überschreibt, von denen andere Zweige abhängen können.



Manchmal möchten Sie einfach nicht verfolgte Dateien in Ihrem lokalen Verzeichnis löschen. Zum Beispiel durch Ausführen eines Codes, der viele verschiedene Dateitypen erstellt hat, die Sie nicht benötigen. Leider. Sauber hilft, sie sofort zu entfernen!

git clean -n - Löscht nicht verfolgte Dateien im lokalen Arbeitsverzeichnis.

-n - Flag für Testlauf, nichts wird gelöscht.
-f - Flag zum Löschen von Dateien.
-d - Flag zum Löschen nicht verfolgter Verzeichnisse.

Standardmäßig werden nicht verfolgte Gitignore-Dateien nicht gelöscht, dies kann jedoch geändert werden.



Bestellungen aufgeben


git commit --amend - fügt dem letzten Commit schrittweise Änderungen hinzu.

Wenn nichts indiziert ist, können Sie mit dem Befehl die letzte Nachricht des Commits bearbeiten. Verwenden Sie den Befehl nur, wenn das Commit nicht mit dem Remote-Master-Zweig zusammengeführt wurde.

git push my_remote --tags - Sende lokale Tags an ein Remote-Repository. Eine gute Option zum Zuweisen von Versionen zu Änderungen.

Hilfe, ich stecke in Vim fest und kann nicht raus!


Git öffnet in einigen Fällen eine Vim-Editor-Sitzung. Und wenn Sie mit ihm nicht allzu vertraut sind, befinden Sie sich möglicherweise in einer schwierigen Situation. Und nicht nur Sie - zum Beispiel möchten bei Stack Overflow mehr als 4.000 Benutzer wissen, wie sie aus Vim herauskommen können.



Hier ist ein vierstufiger Plan, mit dem Sie Vim schließen und Änderungen speichern können:

  • Klicken Sie auf i.
  • Geben Sie die Festschreibungsnachricht in die erste Zeile ein.
  • Esc.
  • Geben Sie ein: x.

Alles, du bist frei!

Ändern Sie den Standardeditor.

Sie können Vim vollständig entfernen, wenn Sie den Standardeditor ändern. Hier sind die Befehle für die Arbeit mit gängigen Editoren. Ein Beispiel für die Auswahl eines anderen Editors, in unserem Fall Atom:

git config --global core.editor "atom --wait"

Verknüpfungen für Git-Befehle


Und hier ist eine Methode, mit der Sie Verknüpfungen zu Git-Befehlen für Ihr .bash_profile hinzufügen können.

alias gs='git status ' alias ga='git add ' alias gaa='git add -A ' alias gb='git branch ' alias gc='git commit ' alias gcm='git commit -m ' alias go='git checkout ' 

Weitere Informationen zu .bash_profile finden Sie hier .

Wie bei der obigen Methode können Sie jetzt gs anstelle des git-Status verwenden.

Eigentlich ist das alles für heute. Wenn möglich, geben Sie in den Kommentaren an, welche Git-Befehle Sie verwenden und warum.
Skillbox empfiehlt:

Source: https://habr.com/ru/post/de442260/


All Articles