Hello, I am trying to run a script to edit multiple commits using 'git rebase -i --exec ...' and I ran into a strange behavior when I run 'cd' inside the --exec command and subsequently run a git command. For example, if the command is 'cd src && git status', then git status reports as if all files in the repository are deleted. Example command sequence to reproduce the problem: # Setup: touch a mkdir dir touch dir/x git init . git add --all git commit -m commit1 git tag base touch b git add --all git commit -m commit2 # Here we go: git rebase -i --exec 'cd dir && git status' base # Spawning a sub-shell doesn't help: git rebase -i --exec '(cd dir && git status)' base Is this expected behavior or did I found a bug? Is there any workaround, other than cd'ing to the toplevel directory every time I want to run a git command when I am inside a subdirectory? $ git --version git version 2.17.0 Thanks, Ondrej Mosnacek