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

12voto

Lenar Hoyt Punkte 5672

Ich habe diese Funktion in meinem .bash_profile o .profile o .zprofile oder was auch immer in Login-Shells verwendet wird:

function gac () {
  # Usage: gac [files] [message]
  # gac (git add commit) stages files specified by the first argument
  # and commits the changes with a message specified by the second argument.
  # Using quotes one can add multiple files at once: gac "file1 file2" "Message".
  git add $1 && git commit -m "$2"
}

9voto

Josh Olson Punkte 387

Verwenden Sie einfach:

git commit -m "message" .     

Beachten Sie das "." am Ende... das auch ein Pfad zu einer Datei/einem Verzeichnis sein kann

0 Stimmen

Funktioniert dies für neu erstellte Dateien oder nur für bestehende, die geändert werden?

0 Stimmen

Dies funktioniert nur für bereits verfolgte Dateien.

8voto

Positive Navid Punkte 1954

Wenn Sie tippen:

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

müssen Sie nur einmal Folgendes eingeben

git a

jedes Mal:

git a 'your comment'

5 Stimmen

Dies sollte die beste Antwort sein, super einfach und enthält UNTRACKED Dateien im Gegensatz zu den meisten anderen Vorschlägen.

4voto

LuisEnMarroquin Punkte 1106

Einige sagen, dass git commit -am reicht aus. Das wird nicht funktionieren, weil es nur Änderungen an verfolgten Dateien übertragen kann, aber keine neuen Dateien hinzufügt. Fuente .

Nach einigen Nachforschungen habe ich herausgefunden, dass es dafür keinen Befehl gibt, aber Sie können ein Skript in Ihrem .bashrc o .bash_profile abhängig von Ihrem Betriebssystem.

Ich werde die, die ich verwende, mit anderen teilen:

function gac {
  if [[ $# -eq 0 ]]
    then git add . && git commit
  else
    git add . && git commit -m "$*"
  fi
}

Damit werden alle Ihre Änderungen hinzugefügt und festgeschrieben, Sie können einfach gac und Sie werden aufgefordert, die Commit-Nachricht zu schreiben

Oder Sie können Ihre Commit-Nachricht direkt eingeben gac Hello world werden alle Ihre Änderungen hinzugefügt und Ihre Commit-Nachricht lautet Hallo Welt beachten Sie, dass "" nicht verwendet werden

4voto

ademar111190 Punkte 13707

Ich mache eine Muschel

#!/bin/sh

clear

git add -A 
git commit -a -m "'$*'"

zum Beispiel git.sh speichern und später aufrufen:

sh git.sh your commit message

1 Stimmen

Nicht auf andere Betriebssysteme übertragbar, und Git kann dies selbst tun, was soll das also?

2 Stimmen

@naught101 es ist offensichtlich, dass Git kann dies selbst zu tun, der Punkt ist, dass diese Shell dient dazu, den Prozess für die Menschen mit Git auf Linux zu rationalisieren, wobei viel einfacher zu einem sh git.sh Ihre Commit-Nachricht laufen, und nicht portabel gemacht werden, bedeutet nicht, dass es richtig funktionieren wird.

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