Vervollständigung für Git-Befehle
-
29-09-2020 - |
Frage
Ich bin kürzlich von der Verwendung einer Ubuntu-Box in den letzten 7 Jahren auf einen Mac umgestiegen.Ich habe andere Beiträge wie gelesen Wenn ich von Ubuntu auf OS X wechsle, bin ich verloren Und Was ist der Unterschied zwischen iTerm2 und Terminal?
Warum vervollständigen iTerm2 und Terminal die Argumente für einen Befehl nicht?
Z.B.Wenn ich mache gi
+Tab, vervollständigt es dieses Wort automatisch zu git
was gut ist.Wenn ich ein Leerzeichen hinzufüge und es versuche remo
+Tab, warum lasse ich es nicht automatisch vervollständigen? remote
wie in Ubuntu.Ich muss alles manuell nach dem Wort eingeben git
.Das Gleiche gilt für andere Befehle.
Mache ich etwas falsch oder übersehe ich etwas?
(Bitte beachten Sie, dass ich nicht darüber spreche cmd + ; Verknüpfung, die zuvor eingegebene Einträge in iTerm2 automatisch vervollständigt.)
Lösung
Der einfachste Weg, die automatische Vervollständigung unter OS X zu erhalten, besteht darin, Ihre Shell auf zu wechseln zsh
.
Sie können Dinge testen, indem Sie sie ausführen zsh
in iTerm und im Terminal, bevor Sie den oben beschriebenen Wechsel vornehmen.Wenn du wirklich dabei bleiben willst bash
Sie können mit diesen beiden Fragen beginnen:
Andere Tipps
Eine Lösung beim Umstieg von Ubuntu ist die Verwendung Homebrew, ein Paketmanager für Mac OSX.Insbesondere z git
, haben Sie eine Reihe von Ergänzungen eingefügt, einschließlich der Bash-Vervollständigung.Dies gilt auch für andere Programme, die für Entwickler falsch sind, z make
.
In 2 Schritten:
- installieren mit
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
- Laufen
brew doctor
um Ihren Weg richtig einzurichten - Installieren Sie Git und Bash-Vervollständigung:
brew install git bash-completion
- Fügen Sie den Befehl return im vorherigen Schritt in Ihrem hinzu
.bash_profile
. - Starten Sie Ihre Bash-Sitzungen neu, sobald die neuen Tools und Konfigurationen in Ihr Dateisystem geschrieben wurden.
Mehr dazu diese Anleitung.
Ich habe zwei Vorschläge:
verwenden Fisch, es ist wirklich einfach und leicht
A.Erweitern Sie es mit Oh-mein-Fisch
zsh mit oh-my-zsh.zsh ist bereits installiert, sodass Sie nicht viel tun müssen.
A.
chsh -s /bin/zsh
B.Abmelden und erneut anmelden
C.Führen Sie dies aus, um oh-my-zsh zu installieren
wget --no-check-certificate https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh
Weitere Infos hier: https://github.com/robbyrussell/oh-my-zsh
ich benutze oh-my-zsh
Aber fish
ist auch toll.
Dies umgeht das Problem etwas, falls jemand die von Apple bereitgestellte Version von Git auf seinem System behalten möchte.
Sie können in der .gitconfig-Datei in Ihrem Home-Verzeichnis Aliase für kürzere Git-Befehle erstellen.Zum Beispiel habe ich Git so eingerichtet git st
läuft git status
stattdessen.
Beispiel-Aliase in .gitconfig:
[alias]
co = checkout
ci = commit
st = status
br = branch
Eine Option, die hilfreich sein könnte, ist die Verwendung von .git-completion.bash
für Bash Idiot Autovervollständigung.
Sie können damit Git-Befehle eingeben und dann den Remote-Namen automatisch vervollständigen (z. B.'origin' oder 'heroku') und dann (und noch wichtiger) für die Repository-Zweignamen.
Sehen https://apple.stackexchange.com/a/55886/24565
Sie laden die Datei herunter von
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Für diejenigen, die nach einer Lösung zur Befehlsvervollständigung für Bash suchen, die so einfach zu verwenden ist wie zsh + oh-my-zsh, gibt es jetzt diese das Bash-it-Projekt.Was in seinen eigenen Worten „eine schamlose Abzocke von oh-my-zsh“ ist – daran ist eigentlich nichts auszusetzen!
Es richtet eine Plugin-ähnliche Architektur ein, wie es oh-my-zsh tut, mit der Sie Dinge einfach in Ihre Umgebung hinein- und herausholen und durch die Synchronisierung mit ihrem Github-Projekt neue Dinge erhalten können.
Die Installation erfordert drei Schritte:
- Überprüfen Sie einen Klon dieses Repos:
git clone https://github.com/revans/bash-it.git ~/.bash_it
- Laufen
~/.bash_it/install.sh
(es sichert automatisch Ihre~/.bash_profile
) - Bearbeiten Sie Ihre
~/.bash_profile
Datei, um bash-it anzupassen.
Wenn Sie Angst vor einem vollständigen Wechsel haben zsh
, bash-it
ist ein schöner Mittelweg, der Sie auf dem Laufenden hält bash
bietet Ihnen aber viele leistungsstarke Plugins, mit denen Sie Ihre Umgebung erweitern können.