591 Stimmen

Git add und commit in einem Befehl

Gibt es eine Möglichkeit, wie ich die

git add -A
git commit -m "commit message"

in einem einzigen Befehl?

Ich scheine diese beiden Befehle häufig auszuführen, und wenn Git eine Option wie git commit -Am "commit message" Das würde das Leben sehr viel bequemer machen.

git commit hat die -a Modifikator, aber es ist nicht ganz dasselbe wie bei git add -A bevor Sie sich festlegen. git add -A fügt neu erstellte Dateien hinzu, aber git commit -am nicht. Was dann?

5 Stimmen

4 Stimmen

Zeitersparnis und jede Änderung festschreiben ist besser, deshalb verwende ich git commit -am "yes the code in committed"

1 Stimmen

git add . ist eine schnellere Option zum Hinzufügen aller

555voto

Martin C. Punkte 11382

Sie können Git-Aliase verwenden, z. B.

git config --global alias.add-commit '!git add -A && git commit'

und verwenden Sie es mit

git add-commit -m 'My commit message'

EDIT : Zurück zu Ticks ('), da es sonst bei der Shell-Expansion unter Linux fehlschlägt. Unter Windows sollte man verwenden doppelte Anführungszeichen (") stattdessen (in den Kommentaren wurde darauf hingewiesen, ich habe es nicht überprüft).

0 Stimmen

@joedevon Der Alias befindet sich entweder in $PROJECT/.git/config oder in $HOME/.gitconfig, wenn das --global Flag gesetzt ist.

49 Stimmen

Utilice git config --global --unset alias.<your_alias> um den Alias zu deaktivieren.

11 Stimmen

@MrFusion Es macht den Befehl zu einem externen Shell-Befehl anstelle einer Verknüpfung zu einem internen Git-Befehl, d.h. die gesamte Zeile wird als separater Prozess ausgeführt.

417voto

Jed Schneider Punkte 13363
git commit -am "message"

ist ein einfacher Weg, um Git anzuweisen, Dateien zu löschen, die Sie gelöscht haben, aber ich empfehle im Allgemeinen keine derartigen "catch-all"-Workflows. Git-Commits sollten in der besten Praxis ziemlich atomar sein und nur einige wenige Dateien betreffen.

git add .
git commit -m "message"

ist eine einfache Möglichkeit, alle neuen oder geänderten Dateien hinzuzufügen. Außerdem gilt die "catch-all"-Qualifikation. Die obigen Befehle löschen keine Dateien, die ohne die git rm Befehl.

git add app
git commit -m "message"

ist eine einfache Möglichkeit, alle Dateien aus einem einzigen Verzeichnis in den Index aufzunehmen, in diesem Fall die app Dir.

59 Stimmen

Oder einfach git commit -am "message" - Stellen Sie nur sicher, dass es keine neuen Dateien gibt, die Git noch nicht übernommen hat. git add . && vor dass...., um es in einer Zeile zu machen.

9 Stimmen

Entschuldigung, aber die ursprüngliche Frage bezog sich genau darauf - Vermeidung von git add . in Falldateien hinzugefügt wurden

0 Stimmen

Aus der Git-Hilfe: -a, --all Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.

93voto

Anurag Kumar Punkte 1035

Am einfachsten können Sie das tun:

git commit -am "Your commit message"

Ich verstehe nicht, warum wir das so kompliziert machen.

0 Stimmen

Die Lösung wurde bereits in der Antwort von Jed Schneider gegeben: stackoverflow.com/a/4298990/2227743

0 Stimmen

Oh, die Länge hat mich verwirrt, aber es hat sich gelohnt, sie zu lesen. Danke @EricAya

33 Stimmen

Dabei werden keine neuen Dateien hinzugefügt. Die a ist für all , nicht für add .

68voto

Ales Punkte 649

Um sie in einer Zeile zu halten, verwenden Sie:

git add . && git commit -am "comment"

Diese Zeile fügt alle geänderten und hinzugefügten Dateien zum Repository hinzu und überträgt sie.

16 Stimmen

Es ist zu beachten, dass dies spezifisch für eine Linux-Shell ist (bash und möglicherweise andere).

11 Stimmen

git commit -am "comment" ist perfekt

14 Stimmen

Wenn Sie benutzt haben: git add . Dann müssen Sie nicht die Option -a brauchen Sie nur: git commit -m "comment"

34voto

danilo Punkte 4992

Nur die Anpassung der Ales Antwort und die von Courtsimas Kommentar für linux bash :

Um sie in einer Zeile zu halten, verwenden Sie:

git commit -am "comment"

Diese Zeile fügt hinzu und überträgt alle geändert zum Repository.

Stellen Sie nur sicher, dass es keine neue Dateien die Git noch nicht übernommen hat. Ansonsten müssen Sie:

git add . ; git commit -am "message"

0 Stimmen

Wie zu tun ist git commit -am "comment" aber nur für 1 Datei? Sagen wir file.txt .

2 Stimmen

git commit -am "comment" ist eine Abkürzung für das Hinzufügen und Übertragen aller geänderten Dateien. Wenn Sie nur eine Datei hinzufügen und übertragen möchten, müssen Sie den Befehl ausführen: git add file.txt ; git commit -m "comment"

1 Stimmen

Im zweiten Fall ist es nicht notwendig, -a mit m hinzuzufügen. Es sollte git add . ; Git commit -m "message" sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X