GithubHelp home page GithubHelp logo

git-gitlab's Introduction

git + lab = gitlab

Build Status

lab is a command line tool that wrap git in order to extend it with extra features and commands that make working with GitLab easier.

$ git lab clone numa08/dejiko

# extends to:
$ git clone git://${gitlab.url}/numa08/dejiko.git

Installation

Mac OS X

Install go-lang (if not already installed)

$ brew install go

When go-lang is installed:

$ brew install libgit2
$ go get gopkg.in/libgit2/git2go.v23
$ go get github.com/plouc/go-gitlab-client
$ go get github.com/codegangsta/cli

Execute from within the git-gitlab repository clone

$ make build

Finally, move build/git-lab somewhere in $PATH.

Note

OSX El Capitan users may encounter the following error

could not determine kind of name for C.GIT_CHECKOUT_SAFE_CREATE

when running

$ go get gopkg.in/libgit2/git2go.v22

This is because libgit v0.23.x was installed. You need 0.22.x. See libgit2/git2go#181 (comment) for more information.

Archlinux

There is an aur package called git-gitlab.

Configure

Set the value of Gitlab-url and token.

$ git config --global gitlab.url http://gitlab.example.com

$ git config --global gitlab.token GITLAB_SECRET_TOKEN

then, set gitlab namespace and project.

$ git config gitlab.project [NAMESPACE]/[PROJECT]

Commands

git clone

$ git lab clone numa08/dejiko
> git clone git://{gitlab.url}/numa08/dejiko

$ git lab clone -p numa08/dejiko
> git clone git@{gitlab.url}/:numa08/dejiko

merge request

$ git lab merge-request -b basebranch -h headbranch
>open text editor to edit title and body
>open pull request on GitLab

$ git merge-request -b forked:branch -h origin:branch -m "Fix issue #xxx"

git merge

$ git lab merge [MERGE_REQUEST_ID]

git show

$ git lab show issues/[ISSUE_ID]
$ git lab show merge_requests/[MERGE_REQUEST_ID]

$ git lab show -d issues 
> Opens issues dashboard

$ git lab show -d merge_requests 
> Opens issues dashboard

git-gitlab's People

Contributors

waldofe avatar voidus avatar pitpit avatar joostrijneveld avatar raine avatar basiszwo avatar zhann avatar

Watchers

 avatar

Forkers

sservett

git-gitlab's Issues

Adjust styling

  • Remove trailing spaces
  • Unnecessary empty lines
  • Make a gofmt check in order to stardandize alignments

Improve docs

Documentation seems outdated.

  • Mention git config --global gitlab.host gitlab.xxx.com
  • Remove cli commands that does not work

Improve "lab show" command

show command could be used to open /issues or /merge_requests page directly from terminal:

Proposal

git lab show issues
# open "http://[gitlab.url]/[namespace]/[project]/issues

git lab show merge_requests
# open "http://[gitlab.url]/[namespace]/[project]/merge_requests

Future ideas

git lab show -d issues
# open "http://[gitlab.url]/dashboard/issues?assignee_id=x

git lab show -d merge_requests
# open "http://[gitlab.url]/dashboard/merge_requests?assignee_id=x

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.