Skip to main content

A terminal tool for easy navigation to local git repository

Project description


GitHub Workflow Status GitHub release PyPI PyPI - Downloads PyPI - Python Version Licence

A terminal tool for easy navigation to local git repository. It let you change to a repository directory easily.

Table of content


Install with pip

$ pip3 install git-cd


Type gitcd or gitcd -h will show you the command help page

$ gitcd
Usage: gitcd [OPTIONS] [REPO]

  gitcd [your-repo-name]

  Terminal tool for easy navigation to local git repository

  For more detail: please visit

  -i, --index             index all the local repo
  -u, --update            update the local repo index
  -p, --path PATH         only find local repo under this path
  -a, --autocomplete      activate shell autocompletion
  -s, --shell [bash|zsh]  specify the shell
  -h, --help              Show this message and exit.

Change Directory

$ gitcd [repo-name]

It changes the current directory to the corresponding local repository. Press Tab to autocomplete the repository name if needed(activate autocompletion is required)

Indexing Local Repositories

Before using gitcd to change directory, you needs to first index you local repositories. Use the commmand below to start indexing.

$ gitcd -i

The default root directory is home directory(~/). It starts finding local repositories recursively from the root directory. You can change the root directory by using -p.

$ gitcd -i -p [root-path]

Update Local Repository Index

If some of the repositories have been deleted, the old index will still contain those invalid repositories directory, and errors occur when you attemps to cd into deleted repositories. Thus, you needs to update the local repository index by the following command. It deletes all invalid repositories.

$ gitcd -u


Limited by Click, autocompletion only support bash and zsh shell. To activate autocompletion, use the command below:

$ gitcd -a

In normal cases, it detects the current shell and activate the autocompletion of that shell, but you can specify the shell that you wants to activate by using -s.

$ gitcd -a -s [bash or zsh]

To actiavte autocompletion manually, you needs to add the following line to you .bashrc(bash) or .zshrc(zsh).

For bash: eval "$(_GITCD_COMPLETE=source gitcd)"

For zsh: eval "$(_GITCD_COMPLETE=source_zsh gitcd)"


The tool is built on top of Click.


MIT Licence

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git-cd-0.0.1.tar.gz (4.9 kB view hashes)

Uploaded source

Built Distribution

git_cd-0.0.1-py3-none-any.whl (5.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page