Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab

README.md

git + = gitlab Build Status Go Report Card codecov Join the chat at https://gitter.im/labcli

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 + = 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.13.1

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

  • git or hub

Homebrew

brew install zaquestion/tap/lab

Scoop

scoop bucket add zaquestion https://github.com/zaquestion/scoop-bucket.git
scoop install lab

Bash

Installs lab into /usr/local/bin/

curl -s https://raw.githubusercontent.com/zaquestion/lab/master/install.sh | bash

PreBuilt Binaries

Head to the releases page and download your preferred release

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

or

make install

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