git add, git commit und git push in One Command

John Wachira 15 Februar 2024
git add, git commit und git push in One Command

In diesem Artikel werden zwei Methoden beschrieben, mit denen Sie Dateien in einem Befehl hinzufügen, festschreiben und in das Remote-Repository übertragen können. Wenn Sie kleine Änderungen an einzelnen Dateien vornehmen, müssen Sie dennoch dem dreistufigen Prozess zum Veröffentlichen Ihrer Änderungen im Remote-Repository folgen.

Glücklicherweise können Sie einen Befehl erstellen, der Ihre Änderungen an das Remote-Repository hinzufügt, festschreibt und überträgt.

git add, git commit und git push in One Command

Dazu gibt es zwei Möglichkeiten.

  1. Erstellen Sie eine Bash-Funktion.
  2. Erstellen Sie einen Alias.

Erstellen Sie eine Bash-Funktion

Wir können eine Bash-Funktion erstellen, die unsere lokalen Änderungen an das Remote-Repository hinzufügt, festschreibt und überträgt. Diese Funktion sollte in der Datei .bashrc gespeichert werden.

Die Datei .bashrc ist einfach ein Shell-Skript, das die Konfiguration für die Sitzung eines Terminals definiert.

Diese Datei befindet sich normalerweise in Ihrem Home-Verzeichnis. Ein Home-Verzeichnis ist das Verzeichnis, in dem Sie sich befinden, wenn Sie Git Bash starten.

Starten Sie Bash und verwenden Sie den folgenden Befehl, um eine zu erstellen, wenn Sie die Datei .bashrc nicht haben.

$ touch ~/.bashrc

Wie die .gitconfig-Datei ist auch die .bashrc-Datei eine versteckte Datei. Führen Sie den folgenden Befehl aus, um die Funktion zu Ihrer .bashrc-Datei hinzuzufügen.

$ notepad ~/.bashrc

Dieser Befehl öffnet die Datei in Notepad, und Sie können die unten gezeigte Funktion hinzufügen.

function acp() {
    git add .
    git commit -m "$1"
    git push origin HEAD
}

Das "$1" bei git commit ermöglicht es Ihnen, eine benutzerdefinierte Commit-Nachricht zu geben, wenn Sie den Befehl acp ausführen.

Sie können Ihrer Funktion einen beliebigen Namen geben. Speichern Sie die Datei und führen Sie den folgenden Befehl aus, um die Funktion zu aktivieren.

$ source ~/.bashrc

Beachten Sie, dass neuere Git-Versionen mit --login beginnen. In solchen Fällen liest Git nur eine bash_profile-Datei.

Aus diesem Grund wird Git Ihre .bashrc-Datei nicht erkennen. Um dies zu beheben, führen Sie den folgenden Befehl aus.

$ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

Git liest nun Ihre .bashrc-Datei. Wir können das Hinzufügen, Festschreiben und Übertragen von Änderungen an die Fernbedienung in einem Befehl mit acp verwenden, wie unten gezeigt.

$ acp "Update README.md"

Dadurch werden unsere Änderungen hinzugefügt, übertragen und auf die Fernbedienung übertragen.

Commit hinzufügen und in einem Befehl übertragen

Hinweis: Verwenden Sie den Namen, den Sie Ihrer Funktion zugewiesen haben. Wenn Sie Ihre Funktion beispielsweise Lazygit genannt haben, führen Sie Folgendes aus:

$ Lazygit "Update README.md"

Erstellen Sie einen Alias

Wie unten dargestellt, können wir einen Alias erstellen, der Änderungen an das Remote-Repository hinzufügt, festschreibt und überträgt.

$ git config --global alias.lazygit '!f() { git add -A && git commit -m "$@" && git push origin HEAD; }; f'

Sie können Ihrem Alias einen beliebigen Namen geben. Beachten Sie, dass das "$@" bei git commit es uns ermöglicht, eine benutzerdefinierte Commit-Nachricht einzuspeisen, wenn Sie den Alias auf der Befehlszeile verwenden.

Da wir unseren Alias lazygit genannt haben, werden wir Folgendes ausführen:

$ git lazygit "Update LICENSE.md"

commit hinzufügen und einen Befehl unter Verwendung eines Alias einfügen

Sie können einen Befehl hinzufügen, festschreiben und per Push übertragen, indem Sie eine Bash-Funktion zu Ihrer .bashrc-Datei erstellen oder einen Alias erstellen. Wir haben gesehen, wie Sie beide erstellen können, mit der Option, eine benutzerdefinierte Commit-Nachricht hinzuzufügen.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Add

Verwandter Artikel - Git Push

Verwandter Artikel - Git Commit