Skip to content

A way to git clone and keep organised.

Notifications You must be signed in to change notification settings

scottgreenup/gclone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

glcone

Sick of having unorganised repositories? Tired of specifying the directory? Get gclone today!

Example usage

$ gclone https://github.com/scottgreenup/desktop.git
$ cd ~/code/github.com/scottgreenup/desktop
$ pwd
/home/scottgreenup/code/github.com/scottgreenup/desktop

$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

You can use it with args:

$ gclone https://github.com/scottgreenup/desktop.git ./here -- --no-checkout
git clone --no-checkout https://github.com/kubernetes/kubernetes.git here
...

Automatically change directory

You can also create a script so you can enter the directory immediately.

$ cat ~/bin/gclone 
#!/usr/bin/env bash

cloned_directory=$(~/go/bin/gclone $@ | jq -r .targetDirectory)
cd $cloned_directory

Ensure you have your $PATH setup to prioritise the bash script, then:

$ . gclone https://github.com/scottgreenup/desktop.git
$ pwd
/home/scottgreenup/code/github.com/scottgreenup/desktop

Configuration

You can configure gclone via a configuration file.

  • $HOME/.config/gclone/config.json
  • $HOME/.config/gclone/config.yaml
  • /etc/gclone/config.json
  • /etc/gclone/config.yaml

Configuration options

DefaultDirectory

Default value is ~/code

The default directory to clone into. Ensure it is created before using as glone will not create it for you.

Example configuration

{
  "DefaultDirectory": "~/dev/"
}

Releases

No releases published

Packages

No packages published

Languages