git + lab = gitlab
Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab, including seamless workflows for creating merge requests, issues and snippets.
$ lab clone gitlab-com/infrastructure
# expands to:
$ git clone git@gitlab.com:gitlab-com/infrastructure
hub + lab = hublab??
lab will look for hub and uses that as your git binary when available so you don't have to give up hub to use lab
$ lab version
git version 2.11.0
hub version 2.3.0-pre9
lab version 0.9.0
Inspiration
The hub tool made my life significantly easier and still does! lab is heavily inspired by hub and attempts to provide a similar feel.
Installation
Dependencies
Homebrew
brew install zaquestion/tap/lab
Bash
Installs lab into /usr/local/bin/
curl -s https://raw.githubusercontent.com/zaquestion/lab/master/install.sh | bash
Source
Required
go get -u -d github.com/zaquestion/lab
cd $GOPATH/src/github.com/zaquestion/lab
dep ensure
go install -ldflags "-X \"main.version=$(git rev-parse --short=10 HEAD)\"" github.com/zaquestion/lab
Configuration
The first time you run lab it will prompt for your GitLab information. lab uses HCL for its config and looks in ~/.config/lab.hcl
and ./lab.hcl
$ lab
Enter default GitLab host (default: https://gitlab.com):
Enter default GitLab user: zaq
Enter default GitLab token:
Aliasing
Like hub, lab feels best when aliased as git
. In your .bashrc
or .bash_profile
alias git=lab