Haben alle Git-Befehle eine Trockenlaufoption?

81

Haben alle git-Befehle eine --dry-run-Option oder eine, die angibt, was der Befehl tun würde, ohne sie tatsächlich auszuführen?

vfclists
quelle

Antworten:

75

Nicht jeder Befehl würde natürlich einen Trockenlauf direkt unterstützen.

Wie JC Hamano zusammenfasst :

Es gibt Dinge, die in Git nicht implementiert sind, weil sie keinen Sinn ergeben, und es gibt Dinge, die in Git nicht implementiert sind, weil niemand Lust hatte, sich zu kratzen.
Anders ausgedrückt, wir tendieren dazu, nur Dinge zu implementieren, für die es tatsächliche, nachgewiesene Bedürfnisse aus der realen Welt gibt, und nur dann, wenn die Hinzufügung als kohärenter Teil des Systems sinnvoll ist.


iboisver Kommentare:

Eine andere Sache, die Sie beachten sollten, ist, dass Befehle wie git addund git rmdie -nBefehlszeilenoption erlauben , einen Trockenlauf anzugeben , während git commitdie -nOption in etwas völlig anderes bedeutet.
Überprüfen Sie daher unbedingt die Manpage

git commit -n::

-n
--no-verify

Diese Option umgeht die Hooks Pre-Commit und Commit-Msg. Siehe auch Githooks (5) .

VonC
quelle
2
Eine andere Sache, die Sie beachten sollten, ist, dass Befehle wie git-addund git-rmdie Befehlszeilenoption -n erlauben , Trockenlauf anzugeben, während git-commitdie Option -n etwas völlig anderes bedeutet. Überprüfen Sie daher unbedingt die Manpage.
iboisver
1
@iboisver interessantes Feedback, danke. Ich habe Ihren Kommentar zur besseren Sichtbarkeit in die Antwort aufgenommen.
VonC
Ich hätte --dry-run auf "git stash" gewollt, besonders wenn ich ein Verzeichnis "git stash push - / dir"
Gaurang Patel
@ GaurangPatel Einverstanden. Das wurde 2017 hier besprochen: public-inbox.org/git/…
VonC
13

Während es nicht immer eine --dry-runFlagge für jeden Kommentar gibt, gibt es normalerweise Äquivalente. Diese vorherige Frage zeigt beispielsweise, wofür zu tun ist git merge.

Bernstein
quelle
rebaseZum Beispiel gibt es keine .
GCB