Por ejemplo, en una máquina ubuntu nueva, acabo de ejecutar sudo apt-get gity 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-completionagregar a
.bash_profile:MacPorts
sudo port install git +bash_completionluego 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-promptse usa para el soporte de git prompt, no para completar.brew uninstall bash-completionentoncesbrew install gitsi 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_portRealmente 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
masterrama, 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
masterramagit-completion.bashtiene 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,configEntonces, 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.bashsolo para estar seguro, lo diferencié con la versión 2.17.1 en github y coincide.Ubuntu 14.10
Instalar
git-coreybash-completionPara 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-corecarpeta. Puede encontrar allí una instrucción, cómo configurar PS1 o usar__git_ps1fuente
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.bashen 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/gitpero 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