Installs git repos onto your system and keeps them up-to-date. It's a lightweight package manager for things that haven't been published to a real package manager. It's useful for installing and updating all the odd one-off things that only live on GitHub
List the repos you want installed in a YAML file called Gitfile
# ~/my/source/dir/Gitfile
- url: git://github.com/bradurani/bradrc.git
- url: https://github.com/thoughtbot/dotfiles.git
path: thoughtbot/
- url: https://github.com/olivierverdier/zsh-git-prompt.git
tag: v0.4
- url: https://github.com/tmux-plugins/tmux-battery.git
path: ~/.tmux-plugins/
branch: master
Run gitfile
cd ~/my/source/dir
gitfile
And your repos will be cloned or fetched
The Gitfile
must be in YAML format and the top level element must be an array.
Options are
url
- The Url (https or ssh) of the git repopath
- The path to install to (absolute or relative to current dir)branch
- The branch to installtag
- The tag to installcommit
- The commit to install
You can only use one of tag
, branch
, and repo
. If none are defined,
then branch master
is installed.
gitfile
- Installs from Gitfile
in the current directory
gitfile <dir>
- Installs using the Gitfile
in the specified directory. Repos are
installed relative to the specified directory, not the directory the
command is run from
If you don't have Go, you must install it from golang.org. Then run:
go get github.com/bradurani/Gitfile/gitfile
go install github.com/bradurani/Gitfile/gitfile
Feel feel free to open issues and pull requests. If you like this repo, spread the word!
--help
flagman
pagespost_install:
config option for running scriptpost_update:
config option for running scriptgitfile status
command (show repo status)- brew, deb, arch, yum etc. packages