# Index · Git · Topics · Help · GitLab
GitLab Community Edition

# Git documentation

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

GitLab is a Git-based fully integrated platform for software development. Besides Git's functionalities, GitLab has a lot of powerful features to enhance your workflow.

We've gathered some resources to help you to get the best from Git with GitLab.

## Getting started

- Git concepts
- How to install Git
- Start using Git on the command line
- Command Line basic commands
- GitLab Git Cheat Sheet (download)
- Commits
  - Revert a commit
  - Cherry-picking a commit
  - Squashing commits

Third-party references:

- Getting Started - Git website
- Getting Started - Version control
- Getting Started - Git Basics
- Getting Started - Installing Git
- Git on the Server - GitLab

### Concepts

- Article (2017-05-17): Why Git is Worth the Learning Curve
- Article (2016-05-11): The future of SaaS hosted Git repository pricing
- GLU Course (Presentation): About Version Control

## Exploring Git

- Git Tips & Tricks
- Eight Tips to help you work better with Git

## Troubleshooting Git

- Numerous undo possibilities in Git
- Learn a few Git troubleshooting techniques to help you out.

## Branching strategies

- GitLab Flow

Third-party references:

- Git Branching - Branches in a Nutshell
- Git Branching - Branching Workflows

## Advanced use

- Custom Git Hooks
- Git Attributes
- Git Submodules: Using Git submodules with GitLab CI

## API

- Gitignore templates

## Git LFS

- Getting Started with Git LFS
- GitLab Git LFS documentation
- Git-Annex to Git-LFS migration guide
- Article (2015-08-13): Towards a production quality open source Git LFS server