git
can get messy.sgit
aims to bring order to the chaos.
To make sgit
pleasant to use, point a git
alias
at the following shim script. This allows you to selectively run sgit
commands alongside git
without having to think about which binary to invoke (aka: git ls
, git clone
, git delete
, git init
all invoke sgit
subcommands, while everything else executes git
commands)
if [[ $1 == "ls" || $1 == "clone" || $1 == "delete" || $1 == "init" ]]; then
sgit "$@"
else
git "$@"
fi
sgit
clones all repos to a specifiedCODE_HOME_DIR
environment variable.- As shown below, repos are organized in subdirectories by their respective languages
└── <CODE_HOME_DIR>/
└── kevinkowalew/
├── go/
│ └── my-go-server/
│ ├── main.go
│ ├── go.mod
│ └── go.sum
├── java/
│ └── my-java-server/
│ ├── src/
│ │ └── main/
│ │ └── java/
│ │ └── main.java
│ └── pom.xml
└── shell/
└── dotfiles/
├── bash_profile.sh
└── .tmuxconf