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.
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.
Keep your documentation within the project using GitLab’s built-in wiki system.
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.
Create templates for issues and merge requests.
Organize issues and merge requests into groups.
Categorize and track issues or merge requests based on descriptive titles.
Integrate with 24 external services (such as JIRA, Slack, Asana and more) to track progress across all the tools your team uses.
Assign due dates to issues to make sure things get done on time.
Spend less time searching and more time building software.
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.
Preview your branch in a live environment. 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.
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.
Set your alert preferences and 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.