Wie kann ich die Befehlszeilenoptionen für git-bash.exe herausfinden?

48

Anscheinend ist mein google-fu scheiße ...

Ich kenne diese von anderen StackExchange-Posts:

--cd-to-home    # Change directory to home
--cd=<path>     # Change directory to <path>
-i              # ?
-c              # Run command, but --command doesn't work/exist

Wo finde ich eine vollständige Liste der Optionen für git-bash.exe (den Therminal-Emulator)? Ich habe sie für mintty [ 1 ] gefunden, aber sie scheinen nicht die richtigen für git-bash.exe zu sein ...


Aktualisieren:

Es git-bash.exescheint also nur ein einfacher Wrapper zu sein, der zuerst die --cd...Optionen analysiert und dann ausgeführt wird

usr\bin\mintty.exe --icon git-bash.exe,0 --exec "/usr/bin/bash" --login -i <other arguments>

o.ä. Aus diesem Grund --cd..werden only- und bash-Optionen korrekt und nicht mintty analysiert.

Wenn Sie andere Optionen von mintty verwenden möchten, sollten Sie einen ähnlichen Befehl verwenden, anstatt zu versuchen, dies mit git-bash.exe zu tun . Z.B:

usr\bin\mintty.exe --icon git-bash.exe,0 --window full --exec "/usr/bin/bash" --login -i -c "echo 'Hello World!'; read"
816-8055
quelle
Haben Sie versucht, mit zu beginnen help? Wenn es wie Git unter Linux von der Kommandozeile aus funktioniert, können Sie git --help -anach der vollständigen Liste der Kommandos fragen .
Hastur
1
git-bash.exe ist der Terminalemulator (basierend auf mintty), der eine Sammlung von Standardbefehlen wie lsoder git(basierend auf msys) enthält. Ich weiß, wie ich die Optionen für diese Befehle bekomme, ich suche nach den Optionen für den Terminal-Emulator. Ich habe es auch versucht git-bash.exe --helpund git-bash.exe /?beide zeigen nichts.
0816-8055
4
@DavidPostill kein Betrogene - das fordert Befehlszeilenoptionen an die Shell Aufrufbefehl
gt6989b
3
Es kann sich lohnen, die Bearbeitung auf eine Antwort zu verschieben und diese als Antwort zu markieren.
Dumbledad

Antworten:

12

Richtig, es gibt keine Liste mit Hilfe zu Befehlszeilenoptionen für git-bash.exe. Ich verbringe einige Zeit damit, sie selbst zu suchen, und es gibt keine ordnungsgemäße Dokumentation darüber. Es scheint ein Wrapper für bin / sh.exe zu sein. Wenn Sie wirklich mehr tun müssen, empfehle ich, stattdessen die Hilfeinformationen für sh.exe zu lesen.

Arujei
quelle
3
Ach ja, scheint dies genau für die Optionen wie -c, -i, --loginusw. Hier ist die Online - man - Seite . Ich habe mich hauptsächlich gefragt, was die -iOption macht. --cd-to-homeund --cdkeine shBefehle (auch nicht mintty), daher wurden sie der Einfachheit
halber
17

Ich habe dieses Commit von 2015 gefunden, das neue Befehlszeilenoptionen eingeführt hat: https://github.com/git/git/commit/ac6b03cb4197311b055dc5f46ab10bf37c591ae6

Hier ist die Liste aus der Commit-Beschreibung:

--command=<command-line>::
    Executes `<command-line>` instead of the embedded string resource

--[no-]minimal-search-path::
    Ensures that only `/cmd/` is added to the `PATH` instead of
    `/mingw??/bin` and `/usr/bin/`, or not

--[no-]needs-console::
    Ensures that there is a Win32 console associated with the spawned
    process, or not

--[no-]hide::
    Hides the console window, or not

Sie können die vollständigen Informationen in der obigen URL lesen.

Meir Cohen
quelle
0

Hier ist die Befehlszeile, die Sie beim Starten gefunden haben git-bash.exe(auf 2.8.1)

usr\bin\mintty.exe -o AppID=GitForWindows.Bash -o RelaunchCommand="C:\Git\git-bash.exe" -o RelaunchDisplayName="Git Bash" -i /mingw32/share/git/git-for-windows.ico /usr/bin/bash --login -i
Victor Petit
quelle