Home > Net >  Specifying a default target directory for cloning git directories
Specifying a default target directory for cloning git directories

Time:09-07

I have a folder (~/repos) in my home directory in which I store cloned repositories from github. Is there a way to set an option so that git clone <repository> [directory] will clone into ~/repos if [directory] is empty, and otherwise will clone it into [directory]?

CodePudding user response:

You could get most of the way there by creating an alias like this:

git config --global alias.pclone '!git -C $HOME/repos clone'

Now if you run:

git pclone https://git.savannah.gnu.org/git/hello.git

You will find that repository available locally in ~/repos/hello.

(And of course you can call your alias anything you want; I just picked pclone for project-clone.)


If you need more logic than you can conveniently fit into a git alias, you can instead create a shell script named git-pclone with content like:

#!/bin/sh

exec git -C $HOME/repos clone "$@"

Make it executable and place it somewhere in your $PATH. This by itself is identical in behavior to the alias, but you can add whatever logic you feel is appropriate.

  •  Tags:  
  • git
  • Related