How to configure git bash command line completion?

E.g. on a fresh ubuntu machine, I’ve just run sudo apt-get git, and there’s no completion when typing e.g. git check[tab].

I didn’t find anything on http://git-scm.com/docs, but IIRC completion is included in the git package these days and I just need the right entry in my bashrc.

  • In git, how can I perform a regex replacement on changed lines only?
  • Chaining system commands onto git commands
  • How to determine last merged branch in git?
  • What is the difference between Git Bash and the GitHub for Windows shell?
  • Git Bash (1.9.0) using Windows Explorer intergration crashes folder explorer
  • Git Bash cant run commands after running subl
  • Can't use git subtree pull
  • Temporarily remove feature from a Git branch
  • Fully backup a git repo?
  • Remote Symfony2 + Netbeans workflow (feat. git)
  • Synchronize single c header file between two projects
  • creating a public repo with submodules
  • 8 Solutions collect form web for “How to configure git bash command line completion?”

    On Linux

    on most distributions, git completion script is installed into /etc/bash_completion.d/ (or /usr/share/bash-completion/completions/git) when you install git, no need to go to github. You just need to use it – add this line to your .bashrc:

    source /etc/bash_completion.d/git
    # or
    source /usr/share/bash-completion/completions/git
    

    In some versions of Ubuntu, git autocomplete may be broken by default, reinstalling by running this command should fix it:

    sudo apt-get install git-core bash-completion
    

    On Mac

    You can install git completion using Homebrew or MacPorts.

    Homebrew

    brew install bash-completion

    then add this to your .bash_profile:

    if [ -f `brew --prefix`/etc/bash_completion ]; then
        . `brew --prefix`/etc/bash_completion
    fi
    

    MacPorts

    sudo port install git +bash_completion

    then add this to your .bash_profile:

    if [ -f /usr/share/bash-completion/bash_completion ]; then
        . /usr/share/bash-completion/bash_completion
    fi
    

    more info in this guide: Install Bash git completion

    Note that in all cases you need to create a new shell (open a new terminal tab/window) for changes to take effect.

    i had same issue, followed below steps:

    curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
    

    then add the following lines to your .bash_profile (generally under your home folder)

    if [ -f ~/.git-completion.bash ]; then
      . ~/.git-completion.bash
    fi
    

    source : http://code-worrier.com/blog/autocomplete-git/

    See https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

    You just need to source the completion script

    Ubuntu 14.10

    Install git-core and bash-completion

    sudo apt-get install -y git-core bash-completion
    
    • For current session usage

      source /usr/share/bash-completion/completions/git
      
    • To have it always on for all sessions

      echo "source /usr/share/bash-completion/completions/git" >> ~/.bashrc
      

    on my ubuntu there is a file installed here :


    source /etc/bash_completion.d/git-prompt

    you can follow the links into the /usr/lib/git-core folder. You can find there an instruction, how to set up PS1 or use `__git_ps1

    May be helpful for someone:–

    After downloading the .git-completion.bash from the following link,

    curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash
    

    and trying to use __git_ps1 function, I was getting error as–

     -bash: __git_ps1: command not found
    

    Apparently we need to download scripts separately from master to make this command work, as __git_ps1 is defined in git-prompt.sh . So similar to downloading .git-completion.bash , get the git-prompt.sh:

    curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git
    

    and then add the following in your .bash_profile

    source ~/.bash_git
    if [ -f ~/.git-completion.bash ]; then
      . ~/.git-completion.bash
    export PS1='\W$(__git_ps1 "[%s]")>'
    fi
    

    source ~/.bash.git will execute the downloaded file and

    export PS1='\W$(__git_ps1 "[%s]") command will append the checkout out branch name after the current working directory(if its a git repository).

    So it will look like:-

    dir_Name[branch_name] where dir_Name is the working directory name and branch_name will be the name of the branch you are currently working on.

    Please note — __git_ps1 is case sensitive.

    Ubuntu

    There is a beautiful answer here. Worked for me on Ubuntu 16.04

    Windows

    Git Bash is the tool to allow auto-completion. Not sure if this is a part of standard distribution so you can find this link also useful.
    By the way, Git Bash allows to use Linux shell commands to work on windows, which is a great thing for people, who have experience in GNU/Linux environment.

    On Github in the Git project, They provide a bash file to autocomplete git commands.

    You should download it to home directory and you should force bash to run it. It is simply two steps and perfectly explained(step by step) in the following blog post.

    code-worrier blog: autocomplete-git/

    I have tested it on mac, it should work on other systems too. You can apply same approach to other operating systems.

    Git Baby is a git and github fan, let's start git clone.