Organize your repository into private, internal, or public projects.
Manage access and permissions with five different user roles and settings for external users.
Create websites for your GitLab projects, groups, or user accounts.
The solution for widely distributed development teams.
Lock any file or directory to avoid merge conflicts and better manage your binary files.
Keep your documentation within the project using GitLab’s built-in wiki system.
Create a new repo for even the smallest projects.
Import existing projects from GitHub, BitBucket, Google Code, Fogbugz, or any git repo with a URL.
Control read/write permissions to specific branches.
Collect and share reusable code.
Control GitLab with a set of powerful APIs.
Leverage GitLab’s built-in issue tracker to outline and share ideas.
Plan, organize, and visualize your release with a kanban-style board.
View a simple dashboard with a chronological list of todos so you know what needs your attention.
Estimate and record task time without leaving GitLab
Organize issues and merge requests into groups.
Categorize and track issues or merge requests based on descriptive titles.
Create templates for issues and merge requests.
Spend less time searching and more time building software.
Integrate with dozens of external services such as JIRA, Slack, Asana and more.
Create merge requests and @mention team members to review and safely merge your changes.
Preview merge conflicts in the UI and tell git which version to track.
Test every merge request. Run multiple jobs in parallel and see if your build passes with GitLab’s built-in CI.
View and compare merge request diffs from the UI.
Leave comments and resolve discussions on specific lines of code.
Use the cherry-pick button in the UI to isolate specific changes from a merge request.
Review Apps automatically spin up dynamic environments for your merge requests.
Define the build stages and visualize your pipelines so you can spot anything that fails.
An integrated private Docker Container Registry means every project can have its own space to store its Docker images.
Ensure every branch gets the tests it needs by allowing your team to contribute changes to the .gitlab-ci.yml file that contains your tests.
.gitlab-ci.yml
You can automatically spin up and down VMs to make sure your builds get processed immediately and minimize costs.
Integrate Jenkins CI, trigger a build, and see the build status on your merge request.
View a list of the latest commits, merges, comments, and team members on your project.
Be notified by email, Slack, or ToDos anytime there are changes to an issue or merge request.
See how long it takes you to complete your software development lifecycle.