Hat Git Add einen ausführlichen Schalter?

104

Ich bin gerade dabei, alle meine privaten und öffentlichen Repos auf Github umzustellen. Eine der Entscheidungen, die ich getroffen habe, ist, nur die Konsole zu verwenden, da dies einen geringeren Platzbedarf für Werkzeuge bedeutet, wenn ich jemals einen PC usw. wechseln muss.

Ich wäre ein großer Benutzer von Konsolenanwendungen und da ich neu bei Git bin, habe ich mich für die Mastering Git-Serie von Tekpub entschieden, da sie Ihnen zeigt, wie Sie Git Bash als Symbolleiste integrieren können.

Alles funktioniert einwandfrei, bis auf den Befehl add all:

git add .

Es scheint zu funktionieren, aber ich bekomme keinen Hinweis darauf, ob es funktioniert oder nicht. Gibt es einen ausführlichen Schalter (ich denke, so würde er genannt), der besagt, welche Dateien nach dem Start des Befehls verfolgt wurden?

Ich verwende Visual Studio 2010 mit der Standardinstallation von Git (keine Git-Erweiterungen).

deanvmc
quelle
(Ja, es ist eine alte Frage; ich habe sie gesehen, weil sie gerade bearbeitet wurde.) git add --helpZeigt die Dokumentation für den git addBefehl, einschließlich der --verboseOption.
Keith Thompson
Ein neuer Gedanke für eine alte Frage - Ich ziehe es git add -Aüber git add .Ich habe nicht die Unterschiede aufblickte, hat aber festgestellt , dass mein bevorzugter Befehl wahrscheinlicher ist ALL geänderte oder neue Dateien hinzufügen.
Cptully

Antworten:

133

Für einige Git-Befehle können Sie Folgendes angeben --verbose:

git 'command' --verbose

oder

git 'command' -v.

Stellen Sie sicher, dass der Schalter nach dem eigentlichen git-Befehl liegt. Sonst geht es nicht!

Auch nützlich:

git 'command' --dry-run 
Sahil Muthoo
quelle
5
Git 1.7.9 (Cygwin) sagt mir, dass - Verbose ist eine unbekannte Option
Roy Truelove
5
@ RTruelove: Sie könnten git --verbose addanstelle vongit add --verbose
Bogdan D
29

Ich habe ein Problem mit git debuggt und brauchte eine sehr ausführliche Ausgabe, um herauszufinden, was falsch lief. Am Ende habe ich die GIT_TRACEUmgebungsvariable gesetzt:

export GIT_TRACE=1
git add *.txt

Ausgabe:

14:06:05.508517 git.c:415               trace: built-in: git add test.txt test2.txt
14:06:05.544890 git.c:415               trace: built-in: git config --get oh-my-zsh.hide-dirty
Aaron
quelle
1
Bingo! Vielen Dank für diese Umgebungsvariable!
Henry Rivera
3
Um die Sache zu vereinfachen, können Sie wie GIT_TRACE=1 git add *.txtfolgt vorgehen: alle in derselben Zeile.
Cristianoms
6

Nun, wie (fast) jedes Konsolenprogramm für Unix-ähnliche Systeme sagt git Ihnen nichts, wenn ein Befehl erfolgreich ist. Es druckt etwas nur aus, wenn etwas nicht stimmt.

Wenn Sie jedoch sicher sein möchten, was gerade passiert ist, geben Sie einfach ein

git status

und sehen, welche Änderungen übernommen werden und welche nicht. Ich empfehle Ihnen, dies vor jedem Commit zu verwenden, um sicherzugehen, dass Sie nichts vergessen.

Da Sie neu in Git zu sein scheinen, finden Sie hier einen Link zu einem kostenlosen Online-Buch, das Sie in Git einführt. Es ist sehr nützlich, es schreibt über Grundlagen sowie bekannte verschiedene Workflows: http://git-scm.com/book

Riccardo T.
quelle
Aus der anderen Antwort geht hervor, dass es eine Möglichkeit gibt, Ihnen zu sagen, was passiert, aber ich empfehle Ihnen, sich ohne den Parameter -v zu gewöhnen. Das Standardverhalten ist praktischer (und es ist schneller zu tippen).
Riccardo T.
//, ich hatte noch nie zuvor gehört, dass Konsolenprogramme für UNIX-ähnliche Systeme Ihnen nichts sagen, wenn ein Befehl erfolgreich ist. Jetzt, wo ich es gehört habe, hätte es mir wohl klar sein müssen.
Nathan Basanese
Das stimmt einfach nicht! Git sagt mir viel, wenn ich es regelmäßig benutze, auch wenn Befehle erfolgreich sind. Zum Beispiel, git commitsagt mir, wie viele Zeilen und Dateien sich geändert haben, ob neue Dateien erstellt wurden, oder git pushinformiert mich über den Fortschritt des Pushings in den Upstream.
LukeLR
5

Sie können verwenden git add -i, um eine interaktive Version von zu erhalten git add, obwohl dies nicht genau das ist, wonach Sie suchen. Am einfachsten ist es, nach dem git addEdieren git statuszu sehen, was inszeniert ist oder nicht.

Die Verwendung git add .wird nicht wirklich empfohlen, es sei denn, es ist Ihr erstes Commit. In der Regel ist es besser, die Dateien, die Sie bereitstellen möchten, explizit aufzulisten, damit Sie nicht versehentlich unerwünschte Dateien (temporäre Dateien usw.) verfolgen.

Matte
quelle
1
Verwenden Sie einfach .gitconfig, um Ausnahmen zu definieren, ohne manuell nachverfolgen zu müssen.
Steve K