Run a git command when entering a directory
Over on Mastodon, Eric Meyer asked:
A bash script I want: whenever I
cd
into a repository directory from a directory outside that repository,git branch
is fed to stdout, so I can see all the local branches. Does anything like this exist?
This is easily done by replacing the built-in cd
command with a custom shell
function. Simply add the following code to your .bashrc
or .zshrc
:
cd () {
local _arg="$1"
builtin cd "$_arg" || exit 1
if [ -d .git ]; then
echo "Branches in $(pwd):"
git branch
fi
}
Hope that helps, Eric!