ZB auf einer frischen Ubuntu-Maschine bin ich gerade gelaufen sudo apt-get git
, und es gibt keine Fertigstellung beim Tippen, z git check[tab]
.
Ich habe auf http://git-scm.com/docs nichts gefunden , aber die IIRC-Fertigstellung ist heutzutage im Git-Paket enthalten und ich brauche nur den richtigen Eintrag in meinem Bashrc.
(cd ~ && exec cat .bashrc | grep completion)
.Antworten:
Unter Linux
Bei den meisten Distributionen wird das Git-Abschlussskript in
/etc/bash_completion.d/
(oder/usr/share/bash-completion/completions/git
) installiert, wenn Sie git installieren. Sie müssen nicht zu github wechseln. Sie müssen es nur verwenden - fügen Sie diese Zeile zu Ihrem hinzu.bashrc
:In einigen Versionen von Ubuntu ist die automatische Vervollständigung von Git möglicherweise standardmäßig fehlerhaft. Eine Neuinstallation durch Ausführen dieses Befehls sollte Folgendes beheben:
Auf dem Mac
Sie können die Git-Vervollständigung mit Homebrew oder MacPorts installieren.
Homebrew
if
$BASH_VERSION
> 4:brew install bash-completion@2
(aktualisierte Version) Achten Sie besonders darauf, welche Bash-Version Sie als MacOS-Standardversion mit 3.2.57 (1) -Version haben.hinzufügen zu
.bash_profile
:Für ältere Versionen von Bash:
brew install bash-completion
hinzufügen zu
.bash_profile
:MacPorts
sudo port install git +bash_completion
Fügen Sie dies dann zu Ihrem hinzu
.bash_profile
:Weitere Informationen in diesem Handbuch: Installieren Sie die Vervollständigung von Bash Git
Beachten Sie, dass Sie in allen Fällen eine neue Shell erstellen müssen (öffnen Sie eine neue Terminalregisterkarte / ein neues Fenster), damit die Änderungen wirksam werden.
quelle
/usr/share/bash-completion/completions/git
./etc/bash_completion.d/git-prompt
wird für die Unterstützung von Git-Eingabeaufforderungen verwendet, nicht für die Fertigstellung.brew uninstall bash-completion
dann ,brew install git
wenn Sie git , bevor sie durch ein anderes Verfahren installiert hatte, dann die obigen Schritte funktionieren.Ich hatte das gleiche Problem, folgte den folgenden Schritten:
Fügen Sie dann die folgenden Zeilen zu Ihrem hinzu
.bash_profile
(im Allgemeinen unter Ihrem Home-Ordner).Quelle: http://code-worrier.com/blog/autocomplete-git/
quelle
export https_proxy=proxy_ip:proxy_port
Ich verstehe nicht wirklich, warum er die Einstellungen nicht vom System erhält.Die meisten Anweisungen, die Sie sehen, werden Sie zum Herunterladen auffordern
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
und Quelle, die in Ihrem Bash-Startskript wie
.bashrc
.Aber es gibt ein Problem damit, weil es auf den
master
Zweig verweist , der die neueste Version von istgit-completion.bash
. Das Problem ist, dass es manchmal kaputt geht, weil es nicht mit der von Ihnen installierten Version von git kompatibel ist.Tatsächlich wird dies im Moment nicht funktionieren, da der
master
Zweiggit-completion.bash
über neue Funktionen verfügt, für die Git v2.18 erforderlich ist, auf die noch keiner der Paketmanager und Installer aktualisiert hat. Sie erhalten eine Fehlermeldungunknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
Die sicherste Lösung besteht also darin, auf die Version / das Tag zu verweisen, die dem von Ihnen installierten Git entspricht. Beispielsweise:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Beachten Sie, dass es
v2.17.
in der URL ein anstelle von hatmaster
. Und dann stellen Sie sicher, dass Sie dies im Bash-Startskript angeben.quelle
/Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
der MacOS-Version sollte sich hier bereits auf der Festplatte befinden: Aus Sicherheitsgründen habe ich sie mit der Version 2.17.1 auf Github unterschieden und sie stimmt überein.Ubuntu 14.10
Installieren Sie
git-core
undbash-completion
Für die aktuelle Sitzungsnutzung
Damit es für alle Sitzungen immer eingeschaltet ist
quelle
Siehe https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Sie müssen nur das Abschlussskript erstellen
quelle
Tun Sie dies einfach in Ihrem
~/.bashrc
:Andere Antworten fordern Sie auf, die Installation durchzuführen
bash-completion
. Sie müssen dies nicht tun. Wenn Sie dies jedoch tun, müssen Sie die Fertigstellung nicht direkt beziehen . Du machst das eine oder andere, nicht beides.Eine allgemeinere Lösung besteht darin, den Systemstandort abzufragen, wie vom Bash-Completion-Projekt empfohlen:
quelle
Auf meinem Ubuntu ist hier eine Datei installiert:
Sie können den Links in den
/usr/lib/git-core
Ordner folgen . Dort finden Sie eine Anleitung zum Einrichten oder Verwenden von PS1__git_ps1
quelle
Kann für jemanden hilfreich sein: -
Nach dem Herunterladen der Datei .git-vervollständigung.bash über den folgenden Link
Beim Versuch, die Funktion __git_ps1 zu verwenden, wurde der Fehler as-- angezeigt
Anscheinend müssen wir Skripte separat vom Master herunterladen, damit dieser Befehl funktioniert, da __git_ps1 in git-prompt.sh definiert ist. Holen Sie sich also ähnlich wie beim Herunterladen von .git-vervollständigung.bash die Datei git-prompt.sh:
und fügen Sie dann Folgendes in Ihr .bash_profile ein
source ~ / .bash.git führt die heruntergeladene Datei aus und
export PS1='\W$(__git_ps1 "[%s]")
Der Befehl hängt den Namen des Checkout-Zweigs nach dem aktuellen Arbeitsverzeichnis an (falls es sich um ein Git-Repository handelt).So wird es aussehen: -
dir_Name[branch_name]
Dabei ist dir_Name der Name des Arbeitsverzeichnisses und branch_name der Name des Zweigs, an dem Sie gerade arbeiten.Bitte beachten Sie, dass bei __git_ps1 zwischen Groß- und Kleinschreibung unterschieden wird.
quelle
Arch Linux
Quelle
/usr/share/git/completion/git-completion.bash
in einer der Bash-Startdateien.Beispielsweise:
Möglicherweise finden Sie das Skript an anderen Orten wie,
/usr/share/bash-completion/completions/git
aber diese Skripte haben bei mir nicht funktioniert.quelle
Ubuntu
Es gibt eine schöne Antwort hier . Arbeitete für mich unter Ubuntu 16.04
Windows
Git Bash ist das Tool, mit dem die automatische Vervollständigung ermöglicht wird. Sie sind sich nicht sicher, ob dies Teil der Standarddistribution ist, daher finden Sie diesen Link auch nützlich. Übrigens erlaubt Git Bash die Verwendung von Linux-Shell-Befehlen , um unter Windows zu arbeiten. Dies ist eine großartige Sache für Leute, die Erfahrung in der GNU / Linux-Umgebung haben.
quelle
Auf Github im Git-Projekt stellen sie eine Bash-Datei zum automatischen Vervollständigen von Git-Befehlen bereit.
Sie sollten es in das Home-Verzeichnis herunterladen und bash zwingen, es auszuführen. Es sind einfach zwei Schritte und werden im folgenden Blog-Beitrag (Schritt für Schritt) perfekt erklärt.
Code-Worrier-Blog: Autocomplete-Git /
Ich habe es auf einem Mac getestet, es sollte auch auf anderen Systemen funktionieren. Sie können den gleichen Ansatz auf andere Betriebssysteme anwenden.
quelle