Por ejemplo, en una máquina ubuntu nueva, acabo de ejecutar sudo apt-get git
y no hay finalización al escribir, por ejemplo git check[tab]
.
No encontré nada en http://git-scm.com/docs , pero la finalización del IIRC está incluida en el paquete git en estos días y solo necesito la entrada correcta en mi bashrc.
(cd ~ && exec cat .bashrc | grep completion)
.Respuestas:
En Linux
en la mayoría de las distribuciones, el script de finalización de git se instala en
/etc/bash_completion.d/
(o/usr/share/bash-completion/completions/git
) cuando instala git, no es necesario ir a github. Solo necesita usarlo, agregue esta línea a su.bashrc
:En algunas versiones de Ubuntu, git autocomplete puede estar roto de forma predeterminada, la reinstalación ejecutando este comando debería solucionarlo:
En Mac
Puede instalar la finalización de git usando Homebrew o MacPorts.
Cerveza casera
if
$BASH_VERSION
> 4:brew install bash-completion@2
(versión actualizada) Preste especial atención a la versión de bash que tiene, ya que MacOS se envía por defecto con 3.2.57 (1) -release.agregar a
.bash_profile
:Para versiones anteriores de bash:
brew install bash-completion
agregar a
.bash_profile
:MacPorts
sudo port install git +bash_completion
luego agregue esto a su
.bash_profile
:más información en esta guía: Instale la finalización de Bash git
Tenga en cuenta que, en todos los casos, debe crear un nuevo shell (abrir una nueva pestaña / ventana de terminal) para que los cambios surtan efecto.
fuente
/usr/share/bash-completion/completions/git
./etc/bash_completion.d/git-prompt
se usa para el soporte de git prompt, no para completar.brew uninstall bash-completion
entoncesbrew install git
si ya había instalado git a través de algún otro método, los pasos anteriores funcionarán.Tuve el mismo problema, seguí los pasos a continuación:
luego agregue las siguientes líneas a su
.bash_profile
(generalmente en su carpeta de inicio)fuente: http://code-worrier.com/blog/autocomplete-git/
fuente
export https_proxy=proxy_ip:proxy_port
Realmente no entiendo por qué no obtiene la configuración del sistema.La mayoría de las instrucciones que ve le indicarán que descargue
https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
y fuente eso en su script de inicio de bash como
.bashrc
.Pero hay un problema con eso, porque hace referencia a la
master
rama, que es la última versión degit-completion.bash
. El problema es que a veces se rompe porque no es compatible con la versión de git que tienes instalada.De hecho, en este momento eso se romperá porque la
master
ramagit-completion.bash
tiene nuevas características que requieren git v2.18, que ninguno de los administradores e instaladores de paquetes ha actualizado todavía. Obtendrá un errorunknown option: --list-cmds=list-mainporcelain,others,nohelpers,alias,list-complete,config
Entonces, la solución más segura es hacer referencia a la versión / etiqueta que coincida con el git que ha instalado. Por ejemplo:
https://raw.githubusercontent.com/git/git/v2.17.1/contrib/completion/git-completion.bash
Tenga en cuenta que tiene
v2.17.
en la URL en lugar demaster
. Y luego, por supuesto, asegúrese de obtenerlo en el script de inicio de bash.fuente
/Library/Developer/CommandLineTools/usr/share/git-core/git-completion.bash
solo para estar seguro, lo diferencié con la versión 2.17.1 en github y coincide.Ubuntu 14.10
Instalar
git-core
ybash-completion
Para el uso de la sesión actual
Tenerlo siempre encendido en todas las sesiones
fuente
Ver https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Solo necesita obtener el script de finalización
fuente
Solo haz esto en tu
~/.bashrc
:Otras respuestas le dicen que instale
bash-completion
, no necesita hacer eso, pero si lo hace, entonces no es necesario obtener la finalización directamente. Haces uno o el otro, no ambos.Una solución más genérica es consultar la ubicación del sistema según lo recomendado por el proyecto de finalización de bash:
fuente
en mi ubuntu hay un archivo instalado aquí:
puede seguir los enlaces a la
/usr/lib/git-core
carpeta. Puede encontrar allí una instrucción, cómo configurar PS1 o usar__git_ps1
fuente
Puede ser útil para alguien: -
Después de descargar el .git-deployment.bash del siguiente enlace,
y tratando de usar la función __git_ps1, estaba obteniendo un error como--
Aparentemente, necesitamos descargar los scripts por separado del maestro para que este comando funcione, ya que __git_ps1 está definido en git-prompt.sh. Tan similar a la descarga de .git-deployment.bash, obtenga el git-prompt.sh:
y luego agregue lo siguiente en su .bash_profile
source ~ / .bash.git ejecutará el archivo descargado y
export PS1='\W$(__git_ps1 "[%s]")
El comando agregará el nombre de la rama de salida después del directorio de trabajo actual (si es un repositorio de git).Entonces se verá así: -
dir_Name[branch_name]
donde dir_Name es el nombre del directorio de trabajo y branch_name será el nombre de la rama en la que está trabajando actualmente.Tenga en cuenta que __git_ps1 distingue entre mayúsculas y minúsculas.
fuente
Arch Linux
Fuente
/usr/share/git/completion/git-completion.bash
en uno de los archivos de inicio de bash.Por ejemplo:
Es posible que pueda encontrar el script en otras ubicaciones como,
/usr/share/bash-completion/completions/git
pero estos scripts no funcionaron para mí.fuente
Ubuntu
Hay una hermosa respuesta aquí . Trabajó para mí en Ubuntu 16.04
Ventanas
Git Bash es la herramienta que permite la finalización automática. No estoy seguro de si esto es parte de la distribución estándar, por lo que puede encontrar este enlace también útil. Por cierto, Git Bash permite usar comandos de shell de Linux para trabajar en Windows, lo cual es una gran cosa para las personas que tienen experiencia en el entorno GNU / Linux.
fuente
En Github en el proyecto Git, proporcionan un archivo bash para autocompletar comandos git.
Debería descargarlo al directorio de inicio y forzar a bash a ejecutarlo. Son simplemente dos pasos y se explican perfectamente (paso a paso) en la siguiente publicación del blog.
blog code-worrier: autocomplete-git /
Lo he probado en mac, debería funcionar también en otros sistemas. Puede aplicar el mismo enfoque a otros sistemas operativos.
fuente