Product Solutions Resources Partners Pricing Support Talk to an expert Get free trial Login GitLab vs Gogs Decision Kit Gogs is a lightweight Git server written in Go which is designed to be simple to set up and operate and can be run on just about anything. It is 100% open source under the MIT OSS license and provided only in self-managed form. Gogs offers repository file viewing and editing, project issue tracking, and a built-in wiki for project documentation. Feature Comparison FEATURES Built-in CI/CD SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab has built-in Continuous Integration/Continuous Delivery, for free, no need to install it separately. Use it to build, test, and deploy your website (GitLab Pages) or webapp. The job results are displayed on merge requests for easy access. Learn more about CI/CD Runs with less memory and consumes less CPU power SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Uses little memory, it runs fine with 512MB. Uses little CPU power since Go is a compiled language Issues SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Labels SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Labels provide an easy way to categorize issues, merge requests, or epics based on descriptive titles as ‘bug’, or ‘documentation’. Learn more about GitLab Labels Milestones SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Iterations SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Create and manage iterations at the group level, view all the issues for the iteration you’re currently working on within your group or project, and enable all subgroups and projects to stay in sync on the same cadence. Learn more about Iterations Issue Due Dates SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE In GitLab, you can set a due date for individual issues. This is very convenient if you have small tasks with a specific deadline. Due dates documentation Move Issue to Another Project SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Mark an issue as a duplicate of another issue, closing it. Learn more about marking duplicate issues To-Do List SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE When a user is mentioned in or assigned to an issue or merge request, it will be included in the user’s To-Do List, making the development workflow faster and easier to track. Learn more about To-Do List Project Issue Board SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab has Issue Boards, each list of an Issue Board is based on a label that exists in your issue tracker. The Issue Board will therefore match the state of your issue tracker in a user-friendly way. Learn more about GitLab Issue Boards Time Tracking SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Time Tracking in GitLab lets your team add estimates and record time spent on issues and merge requests. Learn more about Time Tracking Repository pull mirroring SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Mirror a repository from a remote Git server to your local server, making it easy to keep local forks and replicas up to date. Learn more about repository pull mirroring Create new branches from issues SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Remote repository push mirroring SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Git LFS 2.0 support SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Manage large files such as audio, video and graphics files with the help of Git LFS. Git LFS 2.0 file locking support helps large teams work with binary assets and is integrated with our native file locking feature. Learn more about Git LFS support in GitLab Create merge request from email SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Create a merge request from email by sending in the merge request title, description, and source branch name. Alternatively use patch files to create a merge request without first pushing a branch. Create merge request from email Cleaner diffs for Jupyter Notebook files SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab automatically strips out the noise and displays a cleaner version of the diff for these files. Human-readable diffs make it easier to review the substance of the change, without worrying about the formatting pieces that Jupyter Notebooks need. Cleaner diffs Git protocol v2 support SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Application performance monitoring SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Project Level Value Stream Analytics SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab provides a dashboard that lets teams measure the time it takes to go from planning to monitoring. GitLab can provide this data because it has all the tools built-in: from the idea, to the CI, to code review, to deploy to production. Learn more about Value Stream Analytics Group Level Value Stream Analytics SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab provides a group dashboard that lets teams measure the time it takes to go from planning to monitoring. GitLab can provide this data because it has all the tools built-in: from the idea, to the CI, to code review, to deploy to production. Learn more about Value Stream Analytics Built-in Container Registry SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Preview your changes with Review Apps SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE With GitLab CI/CD you can create a new environment for each one of your branches, speeding up your development process. Spin up dynamic environments for your merge requests with the ability to preview your branch in a live environment. Review Apps support both static and dynamic URLs. Learn more about Review Apps Environments Auto-stop SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE This feature allows users to configure an optional expiration date which can be set for review app environments. Learn more about Environments auto-stop New features every month SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab is updated with new features and improvements every month on the 22nd. One integrated tool SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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. AD / LDAP integration SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Support for Scaled Architectures SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Scale GitLab services across multiple nodes to manage demand and provide redundancy. Determine the optimal architecture for your needs using reference architectures. Learn more about scaling GitLab Deploy Boards SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Automatically close issue(s) when a merge request is merged SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 View Kubernetes pod logs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Virtual registries SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE A virtual registry is a collection of local, remote and other virtual registries accessed through a single logical URL. GitLab Epic detailing the issues required to add this functionality. Forward requests for npm packages not found in GitLab to npmjs.com SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE By default, when an npm package is not found in the GitLab registry, the request is forwarded to npmjs.com Check out the docs to learn more Forward requests for Python packages not found in GitLab to PyPI.org SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE By default, when a PyPI package is not found in the GitLab registry, the request is forwarded to PyPI.org Check out the docs to learn more Conan (C/C++) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Conan is an open source, decentralized and multi-platform C/C++ Package Manager for developers to create and share native binaries. Documentation on the Conan Repository Maven (Java) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab’s Maven repository makes it easier to publish and share Java libraries across an organization, and ensure dependencies are managed correctly. It is fully integrated with GitLab, including authentication and authorization. Documentation on the Maven Repository npm (node) Registry SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab’s NPM repository makes it easier to publish and share NPM packages across an organization, and ensure dependencies are managed correctly. It is fully integrated with GitLab, including authentication and authorization. Documentation on the NPM Registry NuGet (.NET) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab’s NuGet Repository allows C#/.NET developers to create, publish and share packages using the NuGet client or visual studio. Documentation on the NuGet Repository PyPI (Python) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Python developers can set up GitLab as a remote PyPI repository and build, publish, and share packages using the PyPI client or GitLab CI/CD. Documentation for the PyPI Repository RPM (Linux) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE This planned feature will enable Linux developers to build, publish and share RPM packages alongside their source code and pipelines. Check out the issue for additional details on implementation and timing Debian (Linux) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE This planned feature will enable Linux developers to build, publish and share Debian packages alongside their source code and pipelines. Check out the issue for additional details on implementation and timing RubyGems (Ruby) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE This planned feature will enable Ruby developers to setup GitLab as a remote RubyGems repository and to build, publish and share packages using the command line or GitLab CI/CD. This will also be a valuable feature for GitLab and help with dogfooding Check out the issue for additional details on implementation and timing Go Proxy SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE This feature helps Go developers to publish and share their packages right alongside their source code and pipelines. This will also be a valuable feature for GitLab and help with dogfooding Read the Go Proxy docs Composer (PHP) Repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE This feature helps PHP developers to build, publish and share their packages right alongside their source code and pipelines. Check out the docs Use the Package Registry through REST API SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Enables support for automation and integration of the GitLab Package Registry through a REST API. Documentation on API Git protocol v2 support SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE 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 Twitter Facebook YouTube LinkedIn Why GitLab? Product Solutions Services DevOps tools Is it any good? Releases Pricing Get started Resources All resources All-Remote Blog Newsletter Events Webcasts Topics Training Docs Developer Portal Install Community Customers Contribute Community Programs Direction Technology Partners Channel Partners Open Source Partners GitLab for Open Source GitLab for Education GitLab for Startups Shop Community Forum Support Get help Contact Sales Contact Support Support options Status Customers Portal Company About What is GitLab? Jobs Culture Leadership Team Press Investor Relations Analysts Handbook Security Contact Terms Privacy Cookie Preferences Trademark Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license View page source — Edit in Web IDE — please contribute. © 2021 GitLab B.V. This website uses cookies We use cookies to make our websites and services operate correctly, to understand how visitors engage with us and to improve our product and marketing efforts. See our cookie policy for more information.Cookie Policy Cookies Settings Accept All Cookies