Skip to content

Instantly share code, notes, and snippets.

@scottwwhitman
Last active October 24, 2016 02:58
Show Gist options
  • Save scottwwhitman/ca1c4396ccff36f9046fe5f2665c4bb1 to your computer and use it in GitHub Desktop.
Save scottwwhitman/ca1c4396ccff36f9046fe5f2665c4bb1 to your computer and use it in GitHub Desktop.
GitLab Overview

GitLab Overview

GitLab is an application to code, test, and deploy code together. It provides Git repository management with fine grained access controls, code reviews, issue tracking, activity feeds, wikis, and continuous integration.

  • Similar functionality to GitHub
  • Built on the GitLab open-source project and is written in Ruby
  • Has over 700 contributors and is used by major organizations like Alibaba, NASA, CERN, and more

    GitLab Advantages:

    GitLab has what GitHub has, plus some additional features. Its permissions, branch protection, and authentication features are where it differentiates.

  • Convenient user interface enables users to access everything from one screen
  • Settings allow users to control whether a repository is public or private
  • “Snippet support” lets users share small pieces of code from a project, without sharing the whole project
  • Protected branches are a new way to keep code safe, allowing users to set higher permissions on a project, so only certain people are able to push, force push, or delete code in a branch
  • Authentication levels allow users to give people access beyond a read/write level (ex. issue tracking, etc.)
  • Improved milestones enable setting milestones at a group level, so developers can view the entire project’s milestones, not just their own
  • “Work in Progress” status label, lets collaborators know that the code is unfinished, preventing accidental merges before code is finished
  • Can attach files like comments to any communications and issues
  • Collaboration through “innersourcing”, enabling developers who often work in silos to easily browse and share projects active in their company

    Key Considerations:

  • Community: GitHub positioned itself well among its community of developers, and is super popular, mainly driven by the highly active GitHub community. If you’re looking for a like-minded community of developers, chances are high that GitHub is the better place to be.
  • Enterprise: While GitHub is popular with developers, it seems that it hasn’t fully evolved as an enterprise software. Therefore, a lot of enterprises still have some concerns about using GitHub for professional use.

    GitLab vs. GitHub:

    alt text

    Setup

    Create GitLab account:

    GitLab Inc. has 4 product offerings:

  • GitLab Community Edition (CE) - free, self hosted application, support from Community
  • GitLab Enterprise Edition (EE) - paid, self hosted application, comes with additional features and support
  • GitLab.com - free SaaS for public and private repositories, support can be purchased
  • GitHost.io - a private single-tenant GitLab instance run by GitLab

    Summary GitLab take-aways:

  • Still much smaller than GitHub
  • Has a long way to go to compete with GitHub on a user level
  • A great (and probably one of the best) alternatives to GitHub
  • Offers some nice features and benefits which a lot of enterprises might miss inside GitHub

    Resources & Source Posts:

  • Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment