User documentation
Welcome to GitLab! We're glad to have you here!
As a GitLab user you'll have access to all the features your subscription includes, except GitLab administrator settings, unless you have admin privileges to install, configure, and upgrade your GitLab instance.
For GitLab.com, admin privileges are restricted to the GitLab team.
If you run your own GitLab instance and are looking for the administration settings, please refer to the administration documentation.
Overview
GitLab is a fully integrated software development platform that enables you and your team to work cohesively, faster, transparently, and effectively, since the discussion of a new idea until taking that idea to production all all the way through, from within the same platform.
Please check this page for an overview on GitLab's features.
Use cases
GitLab is a git-based platforms that integrates a great number of essential tools for software development and deployment, and project management:
- Code hosting in repositories with version control
- Track proposals for new implementations, bug reports, and feedback with a fully featured Issue Tracker
- Organize and prioritize with Issue Boards
- Code review in Merge Requests with live-preview changes per branch with Review Apps
- Build, test and deploy with built-in Continuous Integration
- Deploy your personal and professional static websites with GitLab Pages
- Integrate with Docker with GitLab Container Registry
- Track the development lifecycle with GitLab Cycle Analytics
With GitLab Enterprise Edition, you can also:
- Provide support with Service Desk
- Improve collaboration with Merge Request Approvals, Multiple Assignees for Issues, and Multiple Issue Boards
- Create formal relashionships between issues with Related Issues
- Use Burndown Charts to track progress during a sprint or while working on a new version of their software.
- Leverage Elasticsearch with Advanced Global Search and Advanced Syntax Search for faster, more advanced code search across your entire GitLab instance
- Authenticate users with Kerberos
- Mirror a repository from elsewhere on your local server.
- Export issues as CSV
- View your entire CI/CD pipeline involving more than one project with Multiple-Project Pipeline Graphs
- Lock files to prevent conflicts
- View of the current health and status of each CI environment running on Kubernetes with Deploy Boards
- Leverage your continuous delivery method with Canary Deployments
You can also integrate GitLab with numerous third-party applications, such as Mattermost, Microsoft Teams, HipChat, Trello, Slack, Bamboo CI, JIRA, and a lot more.
Articles
For a complete workflow use case please check GitLab Workflow, an Overview.
For more use cases please check our Technical Articles.
Projects
In GitLab, you can create projects for numerous reasons, such as, host your code, use it as an issue tracker, collaborate on code, and continuously build, test, and deploy your app with built-in GitLab CI/CD. Or, you can do it all at once, from one single project.
Repository
Host your codebase in GitLab repositories with version control and as part of a fully integrated platform.
Issues
Explore the best of GitLab Issues.
Merge Requests
Collanorate on code, gather reviews, live preview changes per branch, and request approvals with Merge Requests.
Milestones
Work on multiple issues and merge requests towards the same target date with Milestones.
GitLab Pages
Publish your static site directly from GitLab with GitLab Pages. You can build, test, and deploy any Static Site Generator with Pages.
Container Registry
Build and deploy Docker images with GitLab Container Registry.
GitLab CI/CD
Use built-in GitLab CI/CD to test, build, and deploy your applications directly from GitLab. No third-party integrations needed.
Auto Deploy
Deploy your application out-of-the-box with GitLab Auto Deploy.
Review Apps
Live-preview the changes introduced by a merge request with Review Apps.
Groups
With GitLab Groups you can assemble related projects together and grant members access to several projects at once.
Subgroups
Groups can also be nested in subgroups.
Account
There is a lot you can customize and configure to enjoy the best of GitLab.
Manage your user settings to change your personal info, personal access tokens, authorized applications, etc.
Authentication
Read through the authentication methods available in GitLab.
Permissions
Learn the different set of permissions for user type (guest, reporter, developer, master, owner).
Integrations
Integrate GitLab with your preferred tool, such as Trello, JIRA, etc.
Git and GitLab
Learn what is Git and its best practices.
Discussions
In GitLab, you can comment and mention collaborators in issues, merge requests, code snippets, and commits.
When performing inline reviews to implementations to your codebase through merge requests you can gather feedback through resolvable discussions.
Todos
Never forget to reply to your collaborators. GitLab Todos are a tool for working faster and more effectively with your team, by listing all user or group mentions, as well as issues and merge requests you're assigned to.
Search
Search and filter through groups, projects, issues, merge requests, files, code, and more.
Snippets
Snippets are code blocks that you want to store in GitLab, from which you have quick access to. You can also gather feedback on them through discussions.
Webhooks
Configure webhooks to listen for specific events like pushes, issues or merge requests. GitLab will send a POST request with data to the webhook URL.
API
Automate GitLab via API.