September 10, 2020
I sometimes find myself in a situation where I've
cd'd several levels into a project and don't remember exactly where I am, but I want to get back to the project root for my next command. This doesn't come up for me alllll the time, but the last time it did I decided to do something about it.
To cut this short: if you run
git rev-parse --show-toplevel,
git will print out the location you cloned the repo. In other words, if you run
git clone https://git-host.com/user/project.git ~/code/project, that command will return
So I've just added that to my aliases:
root = "rev-parse --show-toplevel". Now I can do
git root or
cd $(git root). That makes this problem much less annoying for me!
Someone pointed out to me that I can probably also add an alias in my shell like
alias cdroot='cd $(git root)' to make this even easier, but I haven't felt the need for that as urgently yet.