/gitlab-shell

Replacement for gitolite

Primary LanguageRubyMIT LicenseMIT

gitlab-shell: ssh access and repository management

GitLab Shell is an application that allows you to execute git commands and provide ssh access to git repositories. It is not a unix shell nor a replacement for Bash or Zsh.

Code status

  • CI
  • Build Status
  • Code Climate
  • Coverage Status

Requires ruby 1.9+

Setup

./bin/install

Check

./bin/check

Repos:

Add repo

./bin/gitlab-projects add-project gitlab/gitlab-ci.git

Remove repo

./bin/gitlab-projects rm-project gitlab/gitlab-ci.git

Import repo

# Default timeout is 2 minutes 
./bin/gitlab-projects import-project randx/six.git https://github.com/randx/six.git 

# Override timeout in seconds
./bin/gitlab-projects import-project randx/six.git https://github.com/randx/six.git 90

Fork repo

./bin/gitlab-projects fork-project gitlab/gitlab-ci.git randx

Update HEAD

./bin/gitlab-projects update-head gitlab/gitlab-ci.git 3-2-stable

Create branch

./bin/gitlab-projects create-branch gitlab/gitlab-ci.git 3-2-stable master

Remove branch

./bin/gitlab-projects rm-branch gitlab/gitlab-ci.git 3-0-stable

Create tag

./bin/gitlab-projects create-tag gitlab/gitlab-ci.git v3.0.0 3-0-stable 

Remove tag

./bin/gitlab-projects rm-tag gitlab/gitlab-ci.git v3.0.0

Keys:

Add key

./bin/gitlab-keys add-key key-782 "ssh-rsa AAAAx321..."

Remove key

./bin/gitlab-keys rm-key key-23 "ssh-rsa AAAAx321..."

Remove all keys from authorized_keys file

./bin/gitlab-keys clear