Giter Site home page Giter Site logo

raonyguimaraes / lab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zaquestion/lab

0.0 3.0 0.0 9.02 MB

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

Home Page: https://zaquestion.github.io/lab

License: The Unlicense

Makefile 0.31% Go 99.20% Shell 0.49%

lab's Introduction

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

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 [email protected]: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.15.3

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

git clone [email protected]:zaquestion/lab
cd lab
go install -ldflags "-X \"main.version=$(git  rev-parse --short=10 HEAD)\"" .

or

make install

Tests

See the contribution guide.

Configuration

lab needs your GitLab information in order to interact with to your GitLab instance. There are several ways to provide this information to lab:

  1. Environment variables: LAB_CORE_HOST, LAB_CORE_USER, LAB_CORE_TOKEN
  2. Environment variables: CI_PROJECT_URL, CI_REGISTRY_USER, CI_JOB_TOKEN
    • Note: these are meant for when lab is running within a GitLab CI pipeline
  3. HCL config file: ./lab.hcl
  4. HCL config file: ~/.config/lab.hcl

These are checked in order. If no suitable config values are found, lab will prompt for your GitLab information and save it into ~/.config/lab.hcl. For example:

$ lab
Enter default GitLab host (default: https://gitlab.com):
Enter default GitLab user: zaq
Enter default GitLab token:

Completions

lab provides completions for bash and zsh.

Bash

lab completion bash will generate a bash completion script. Save this script and source it in your .bashrc:

source "/path/to/lab-completions.bash"

Zsh

lab completion zsh will generate a zsh completion script. zsh completions are denoted with the syntax _command-name, so save the output of lab completion to a file name _lab. Place the file in your $FPATH, or create an new directory and add it to your $FPATH.

fpath=(/path/to/script_directory $fpath)

Aliasing

Like hub, lab feels best when aliased as git. In your .bashrc or .bash_profile

alias git=lab

lab's People

Contributors

1ace avatar adamryman avatar alerque avatar bmess avatar brainblasted avatar ch00k avatar claytonrcarter avatar dimitrovvlado avatar doits avatar em- avatar jnv avatar juliangilbey avatar lelandbatey avatar marionebl avatar martindelille avatar matthewdale avatar mrbell-deploy avatar nawaitesidah avatar nhpolanco avatar nkprince007 avatar rsteube avatar szepeviktor avatar tydavis avatar zaquestion avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.