Gitlab hero border pattern left svg Gitlab hero border pattern right svg
GitLab
vs
Bitbucket
Decision Kit
Decision Kit
The Decision Kit
Additional comparisons and detailed information on both products
View Decision Kit
The GitLab Advantage
Complete DevSecOps platform delivered as a single application.
Single Application
One interface, one user-model, one data model, easy to use.
Built-in Security
Shift left: security testing at the point of code commit.
Rapid Innovation
Uniquely transparent product development process. Customers, partners and community can also contribute.
Join us on a webinar
T-Mobile Customer Spotlight
Register now
Learn How T-Mobile is Transforming its Business with GitLab on its DevOps Journey.
Feature Comparison
FEATURES

Free CI/CD with shared or personal Runners

GitLab.com has shared Runners that allow you to use GitLab CI/CD completely free up to 400 build minutes for private projects and 50000 minutes for public projects. Alternatively, you can set up your own Runner for faster build processing, unlimited build minutes, or special requirements.

Explore GitLab.com offerings

内置CI/CD

极狐GitLab 内置无需独立安装的免费 CI/CD 功能,用户可使用该功能构建、 测试和部署网站(极狐GitLab Pages)或 Web 应用。CI/CD 任务的执行结果会显示在合并请求中以方便访问。

Learn more about CI/CD

Innersourcing

Internal projects in GitLab allow you to promote innersourcing of your internal repositories.

Find out more about innersourcing

Availability

GitLab.com is at 99.5% availability while we want to be above 99.95%. We’re hiring to improve this in the last two months of 2017 and in 2018.

GitLab.com status

The most comprehensive import feature set

GitLab can import projects and issues from more sources (GitHub, Bitbucket, Google Code, FogBugz, Gitea and from any Git URL) than GitHub or any other VCS. We even have you covered for your move from SVN to Git with comprehensive guides and documentation.

Making it easier to get up and running with GitLab

Issues

Quickly set the status, assignee or milestone for multiple issues at the same time or easily filter them on any properties. See milestones and issues across projects.

Learn more about the Issue Tracker

Milestones

Create and manage milestones at both the project and group levels, viewing all the issues for the milestone you’re currently working on, representing an Agile program increment or a release.

Learn more about Milestones

迭代

极狐GitLab 提供群组层面迭代的创建和管理能力,它支持您查看群组或项目在当前迭代中正在进行的所有议题,并确保群组下所有的子群组和项目以同样的节奏保持同步。

Learn more about Iterations

Confidential Issues

Keep your information secure with Confidential Issues. With GitLab, you can create confidential issues visible only for project members with Reporter access level or above.

Learn more about Confidential Issues

议题依赖

极狐GitLab 支持将议题显式的标注为已阻塞和受阻中,并跟踪其状态。为便于识别,被阻塞的议题在议题卡视图中可见。

Learn more about Issue Depdendencies

Related Issues

Mark issues as related to one another.

Learn more about Related Issues

Move Issue to Another Project

You can move issues between projects in GitLab. All links, history and comments will be copied and the original issue will reference the newly moved issue. This makes working with multiple issue trackers much easier.

Learn more about moving issues between projects

Mark Issue as Duplicate

Mark an issue as a duplicate of another issue, closing it.

Learn more about marking duplicate issues

Quick Actions

GitLab provides a convenient way to change metadata of an issue or merge request without leaving the comment field with quick actions.

Documentation about quick actions

Rich Object Summary on Link Hover

View an information-rich summary by hovering over links to users, issues, merge requests, and other objects in GitLab.

See the epic that implements this

Create GitLab Branch from Jira Development Panel

Create a GitLab branch from within the development panel of a JIRA issue.

See issue

Create GitLab Merge Request from Jira Development Panel

Create a GitLab merge request from within the development panel of a JIRA issue.

See issue

项目议题看板

极狐GitLab 提供议题看板功能,议题看板的每个列都基于议题跟踪器中存在的标签建立,因此它将以用户友好的方式匹配议题跟踪器状态。

Learn more about GitLab Issue Boards

时间线跟踪

极狐GitLab 提供时间线跟踪功能,您的团队可以在议题和合并请求上添加时间预估,并记录真实花费的时间。

Learn more about Time Tracking

Based on Git, a distributed VCS

Git, on which GitLab is built, is fully distributed. Every user has a complete copy of the repository, allowing for much faster access to history, easier branching and an overall better experience.

Get started with Git

Protected branches

Granular permissions for branches you want to protect.

Read about protected branches

Commit graph and reporting tools

GitLab provides commit graphs and reporting tools about collaborators’ work.

Learn more about commit graphs

必需的合并请求批准

当项目需要多次验收时,您可以要求每个合并请求在合并之前都得到批准。通过“必需的合并请求批准”,您可以设置必要的批准次数,并预定义特定的审批人清单,从而通过依次审批的方式来保证代码的质量和标准。

Learn more about merge request approvals

多审批人代码审核

极狐GitLab 为确保严格的代码审查,在合并请求能够被合并之前,您可以要求得到批准的最小用户数量。在代码最终合并前,您也可以撤销批准。

Approvals Documentation

代码评审的批准规则

通过指定正确的审批人列表、最小审批者数量以及受保护的目标分支,确保合适的人员使用批准规则来评审合并请求,进而方便的从工程、体验和产品等不同团队请求评审。

Approvals Documentation

仓库拉取镜像

创建远程 Git 服务器到本地服务器的代码仓库镜像,从而更方便的让本地派生和副本保持到最新。

Learn more about repository pull mirroring

Create new branches from issues

In GitLab, you can quickly create a new branch from an issue on the issue tracker. It will include the issue number and title automatically, making it easy to track which branch belongs to which issue.

See how in our documentation

Allow edits from upstream maintainers in a fork

When a user opens a merge request from a fork, they are given the option to allow upstream maintainers to collaborate with them on the source branch. This allows the maintainers of the upstream project to make small fixes or rebase branches before merging, reducing the back and forth of accepting community contributions.

Search files with fuzzy file finder

GitLab provides a way to search a file in your repository in one keystroke.

Read about the file finder in our documentation

Fast-forward merge with option to rebase

With this setting at the project level, you can ensure that no merge commits are created and all merges are fast-forwarded. When a fast-forward merge is not possible, the user is given the option to rebase.

Learn more about rebase before merge

Remote repository push mirroring

Mirror a repository from your local server to elsewhere. Push mirroring is supported via HTTP and SSH using password authentication, and using public-key authentication with SSH.

Learn more about repository push mirroring

拒绝未签署的提交

极狐GitLab 专业版允许您拒绝未签署的提交来强制执行 GPG 签名。

Read more about enforcing push rules

提交者验证

验证代码推送中只包含推送执行用户的代码提交。

In development for GitLab. Follow this link for more information.

Cherry-picking changes

Cherry-pick any commit in the UI by simply clicking the Cherry-Pick button in a merged merge request or a specific commit.

Learn more about cherry picking merge requests

GPG Signed Commits

Sign commits and prove that a commit was performed by a certain user.

Read more about GPG signed commits

Custom Git Hooks

Leverage the power of Git Hooks and chain them together to fire off custom scripts when certain actions occur on the repository. If the commit is declined or an error occurs during the Git hook check, the error message of the hook will be present in GitLab’s UI. GitLab supports all types of hooks.

Learn how to use Git Hooks with GitLab

Git LFS 2.0支持

Git LFS 支持大文件,例如音频,视频和图形文件的管理。Git LFS 2.0 文件锁定支持可帮助大型团队处理二进制文件,并与极狐GitLab 原生的文件锁定功能集成。

Learn more about Git LFS support in GitLab

S/MIME Signed Commits

Sign commits and prove that a commit was performed by a certain user.

Read more about S/MIME signed commits

Optional Merge Request Approvals

Code review is an essential practice of every successful project, and giving your approval once a merge request is in good shape is an important part of the review process, as it clearly communicates the ability to merge the change.

Learn more about optional merge request approvals

Git protocol v2 support

Git’s wire protocol defines how clones, fetches and pushes are communicated between the client and server. Git protocol v2 improves performance of fetch commands and enables future protocol improvements.

Learn more about Git protocol v2

Partial Clone

Partial Clone is an optimization for very large repositories.

Learn more about Partial Clone

Web IDE

Contribute to projects faster by using the Web IDE to avoid context switching in your local development environment. The Web IDE is integrated with merge requests and GitLab CI so that you can resolve feedback, fix failing tests and preview changes live with client side evaluation without leaving the Web IDE.

Learn more about the Web IDE

Live Preview in the Web IDE

Preview changes as you make them to your JavaScript and static HTML projects with Live Preview in the Web IDE.

Learn more about the Web IDE

Web Terminal for Web IDE

Interact with your code in a Web Terminal in the Web IDE to inspect API responses, experiment in a REPL, or compile your code.

Learn more about the Web IDE Web Terminal

File Syncing to Web Terminal

Changes made in the Web IDE will now be synced to the Web Terminal. User changes made in the Web IDE can now be tested within the Web Terminal before committing them to the project.

Learn more about File Syncing to Web Terminal

EditorConfig in the Web IDE

The Web IDE supports the use of .editorconfig files in projects for standardizing coding style of all users working on the project. This helps to easily keep consistency and quality throughout the project.

Learn more about configuring the Web IDE

Paste images in Markdown in the Web IDE

When editing Markdown files in the Web IDE you can now paste images into the content so that they’ll be automatically uploaded and referenced in the content.

Learn more about Markdown editing in the Web IDE

Real-time feedback for .gitlab-ci.yml in Web IDE

To make it easier to configure your GitLab CI pipeline, the Web IDE now provides real-time linting and completion when editing .gitlab-ci.yml files.

Learn more about .gitlab-ci.yml editing feedback in the Web IDE

项目级 Wiki 文档

极狐GitLab 中的每个项目都内置了 Wiki 独立文档系统,每个 Wiki 是一个单独的 Git 代码仓库。

Learn more about GitLab Wikis

设计管理

通过设计管理,用户可以将设计资产(例如线框图和原型图)上传到极狐GitLab 议题中,并将它们存储在同一个位置。产品设计师、产品经理和工程师可以以一种无缝的方式就设计提案进行协作。这些设计资产可以轻松上传并进行版本化的存储,您可以通过单击确切路径上的图片来启动希望重点讨论的主题。

Documentation

极狐GitLab-Figma 插件

我们的 Figma 插件允许您将 Figma 中的框架和组件上传到极狐GitLab 议题中。

Documentation

Application performance monitoring

GitLab collects and displays performance metrics for deployed apps, leveraging Prometheus. Developers can determine the impact of a merge and keep an eye on their production systems, without leaving GitLab.

Learn more about monitoring deployed apps

Application performance alerts

GitLab allows engineers to seamlessly create service level indicator alerts and be notified of any desired events, all within the same workflow where they write their code.

Learn more about creating SLI alerts

GitLab Self-monitoring

GitLab comes out of the box enabled for Prometheus monitoring with extensive instrumentation, making it easy to ensure your GitLab deployment is responsive and healthy.

Learn more about GitLab self-monitoring

项目级价值流分析

极狐GitLab 提供了一个仪表板,团队可以通过它度量从项目计划到运行监控所需的时间。极狐GitLab 能够提供这些数据是因为内置了所有相关的工具:从商业想法到持续集成,从代码审查到生产部署。

Learn more about Value Stream Analytics

群组级价值流分析

极狐GitLab 提供的群组仪表板,能让团队衡量从项目计划到运行监控所花费的时间。极狐GitLab 能够提供这些数据是因为内置了所有相关的工具:从商业想法到持续集成,从代码审查到生产部署。

Learn more about Value Stream Analytics

Built-in Container Registry

GitLab Container Registry is a secure and private registry for Docker images. It allows for easy upload and download of images from GitLab CI. It is fully integrated with Git repository management. (Codefresh will be ending their support for private docker registries as of May 1, 2020

Documentation on Container Registry

Review Apps 预览更改

在使用极狐GitLab CI/CD 的时候,您可以为每条分支新建一个运行环境,从而加速您的开发过程。为您的合并请求创建的动态环境,能够实现在真实的运行环境中预览您的分支内容。Review Apps 同时支持静态和动态 URL。

Learn more about Review Apps

环境自动停止

环境自动停止支持用户配置可选的到期日,并为 Review Apps 的环境设置该日期。

Learn more about Environments auto-stop

New features every month

GitLab is updated with new features and improvements every month on the 22nd.

One integrated tool

Other tools require the integration of multiple 3rd party tools to complete the software development lifecycle. GitLab has a completely integrated solution that covers the entire development lifecycle.

IPv6 ready

Both GitLab.com and GitLab Self-manages support IPv6.

Read the docs on configuring IPv6

AD / LDAP integration

Sync groups, manage SSH-keys, manage permissions, authentication and more. You can manage an entire GitLab instance through the LDAP / AD integration.

More information about AD / LDAP integration

多重 LDAP / AD 服务器支持

连接多重 LDAP 服务器支持极狐 GitLab 的授权与认证。

Advanced LDAP configuration

Access to and ability to modify source code

GitLab is publicly readable, meaning you can scan or modify the code to meet your security and development needs. The code used by most other providers is proprietary, meaning you cannot edit or view the source code.

Read the GitLab license.

高级搜索

利用 Elasticsearch 跨整个极狐GitLab 实例进行更快、更高级的代码搜索。

Learn more about Advanced Search

灾备

分钟级灾备转移到另一个数据中心。

Learn more about Disaster Recovery

Granular user roles and flexible permissions

Manage access and permissions with five different user roles and settings for external users. Set permissions according to people’s role, rather than either read or write access to a repository. Don’t share the source code with people that only need access to the issue tracker.

Learn more about User Roles

Projects

Organize your repository into private, internal, or public projects.

Learn more about Projects

Merge Requests

Create merge requests and @mention team members to review and safely merge your changes.

Learn more about merge requests

Inline commenting and discussion resolution

Code or text review is faster and more effective with inline comments in merge requests. Leave comments and resolve discussions on specific lines of code. In GitLab, Merge Request inline comments are interpreted as a discussion and can be left on any line, changed or unchanged. You can configure your project to only accept merge requests when all discussions are resolved.

Learn more about resolving discussions

Activity Stream

View a list of the latest commits, merges, comments, and team members on your project.

Learn more about the Activity Stream

Subgroups: groups within groups

Create groups within groups to easily manage large numbers of people and projects.

Learn more about Subgroups

Object storage for LFS

LFS files can be stored on Object Storage (Amazon S3)

Learn how to store artifacts on object storage

极狐GitLab Geo 异地同步

当开发团队分布在两个或多个地理位置,但他们的极狐GitLab 实例位于一个位置时,获取和克隆大型代码仓库可能需要很长时间。为了分布式团队构建,极狐GitLab Geo 提供您的极狐GitLab 实例的只读镜像,减少克隆和获取大型代码仓库所需的时间并改进您的协作流程。

Learn more about GitLab Geo

极狐GitLab 扩展支持

极狐GitLab 专业版包含对跨多个节点扩展极狐GitLab 服务的支持,以管理对系统的需求并提供冗余。极狐GitLab 提供了参考架构以便您可以轻松定制满足您需求的最佳架构。

Learn more about scaling GitLab

Deploy Boards

Deploy Boards offer a consolidated view of the current health and status of each CI/CD environment running on Kubernetes. The status of each pod of your latest deployment is displayed seamlessly within GitLab without the need to access Kubernetes.

Learn more about Deploy Boards

You decide when you upgrade

GitLab releases a new version each month and lets you choose when to upgrade.

Learn how to upgrade your GitLab instance

Easy upgrade process

Using our official Linux repositories or the official Docker image, upgrading GitLab is a breeze.

Learn how to upgrade your GitLab instance

Automatically close issue(s) when a merge request is merged

With GitLab, you can use specific keywords to close one or more issues as soon as a merge request is merged.

Learn more about automatically closing issues

Draft merge requests

Prevent merge requests from accidentally being accepted before they’re completely ready by marking them as Draft. This gives you all the code review power of merge requests, while protecting unfinished work.

Learn more about Draft MRs

Responsive-first design

GitLab is built with a responsive-first design approach. Be it on a desktop, tablet or smartphone, GitLab is optimized to be viewed for the best result.

Community based, users can help shape the product

GitLab has open issue trackers for almost all of its operations. From GitLab itself to infrastructure and marketing, you can help shape the product.

View all GitLab contributors

Create projects with Git push

Push new projects to the desired location and a new private project will automatically be created.

Learn more about creating Projects

企业 SAML SSO 支持

将极狐GitLab 连接到企业的 SAML 身份提供者中,以统一管理身份验证。

Learn more about LDAP group synchronization

View Kubernetes pod logs

The monitoring of servers, application, network and security devices via generated log files to identify errors and problems for analysis. GitLab makes it easy to view the logs of running pods in connected Kubernetes clusters. By displaying the logs directly in GitLab, developers can avoid having to manage console tools or jump to a different interface.

Learn more about viewing Kubernetes pod logs

IP 地址访问限制

为确保代码的安全性,将群组级别的访问限制为符合指定 IP 地址子网的入站流量。

Learn more about restricting access by IP address

Enforced Two-factor Authentication (2FA)

Two-factor authentication secures your account by requiring a second confirmation, in addition to your password. That second step means your account stays secure even if your password is compromised. The ability to enforce 2FA provides further security by making sure all users are using it.

Learn more about Enforced GitLab 2FA

Git protocol v2 support

Git’s wire protocol defines how clones, fetches and pushes are communicated between the client and server. Git protocol v2 improves performance of fetch commands and enables future protocol improvements.

Learn more about Git protocol v2

Works with multiple repository types

Supports more than one repository type, such as Git, Subversion, Perforce, CVS, Mercurial.

Learn about migrating from other SCMs

维护模式

维护模式允许系统管理员在尽可能不干扰终端用户的情况下去执行维护操作,例如定期故障转移。

Learn more about maintenance mode