It is such a great system. We use it daily at work and I integrated it into my homelab as well to keep change controls and ci/cd under control. It has made my homelab crazy efficient when I need to do things. For work it makes our daily tasks very easy to manage and it's much more integrated than having to build out all of the atlassian stack.
This product is excellent and has both enterprise edition and community edition making it very inexpensive to get into and then moving to enterprise once setup and still very inexpensive compared to other options out there. You also can set up a private gitlab server either in docker or bare metal. I cannot rave enough about git lab.
There's not much to not like about it. It's a very capable system that can be deployed in every type of way imaginable. If I was to nitpick then I would say adding additional users can be a pain without having self registration available.
Helped us to get our private repository center
GitLab is a great tool for code version Control
We have been using Gitlab in some of our projects in our company and it´s really useful and powerful.
GitLab is really easy to use and powerful to help our team with code version control. It doesn´t take much time to understand the features and start to use.
Gitlab doesn´t have so much differences between other competitors. The features are almost the same.
Good Git Repo
Great platform to host your project!
Overall, GitLab is a good for development. Most commonly used features such as MR and code review work very well on GitLab. The best feature on GitLab is CI/CD, it has everything you need to build an automated pipeline, from build agents to container registry.
However, the exploration feature is not as robust as other services and there is still a lot of rooms for improvement.
GitLab CI is great. The GitLab CI/CD language allows us to build complex pipelines easily, pipeline's configs are stored in the repository as well, so we can manage everything in one place. GitLab also has built-in Docker registry. We have both our build pipeline and our images hosted on GitLab.
The pricing is also flexible, I recommend it for both startup and large enterprises.
Explore Projects feature can be better, it would be more useful if we have a filter to select projects by technologies.
Should support templates on the job level, so it can be reused between multiple environments.
Lack of integration: there are not many 3rd party services that integrate with GitLab for now.
Great Open Source Software!
The overall experience was good. It's highly recommended for companies who want host their code in their own infra and are ready to maintain the code hosting software itself
I use the GitLab Community Edition (CE) and the first thing I love about it is it's Open Source! I am a believer of Open source software! In my company, we host our own instance of GitLab CE and it's been smooth. We use it for source code hosting and for CI/CD. Source code hosting has been great. CI/CD is nice too. GitLab has all the features required by a code hosting software - groups, groups within groups, repos, role based access control for members. Members can also be grouped with names - helpful to create a group for a team and add members to the group and give access to the team/group. It has forking, SSH/HTTPS git repo access, Notification/Watch repo features. It also has lots of integrations. We use slack a lot and we have integrations with slack which GitLab provides, and we have configured it to get notified for different things, starting from commit pushes to pipeline failures. We also use the GitLab pages for hosting the Wiki site for repos. It's pretty neat! The GitLab CI/CD has the concept of runners which run the CI/CD tasks/jobs. Runners have tags, and you can easily use the appropriate tag in the config to run the task in the appropriate runner. We use different runners for different things like, pushing to a Docker registry (requires special permissions), accessing a prod DB/application, running normal tasks (scripts) etc. All in all, it's quite good
Although GitLab has lots of features. I do have some complaints about it. I hope that newer versions will make my complaints obsolete! Starting with the CI/CD, it's quite good. But it lacks some features and flexibility which we expect in the upcoming versions. Features like one CI/CD pipeline triggering another pipeline (not present in CE, not sure about Enterprise Edition) and things like grouping jobs in a stage. Also, the CI/CD UI is not very good. It has glitches, there's no auto refresh in all the UIs to show the status of a job - if it's successful or if it failed. The job UI also isn't very great, like, if the job names or stage names are big, it becomes tough to read. Also, when the job log is very big, it reloads the page when the job finishes and truncates the output of the job and makes it available for download instead. This can be good or bad, based on the use case. For us, it was mostly not a soothing experience.
Very solid Git server
Very satisfied and will consider it also for the next professional projects.
The installation is pretty straight forward and easy. It's the only free git server solution I found that offers LFS support. We started our project without the support of Git LFS but as the project grew, we had to find a solution and transfer our repository to an LFS ready server. GitLab offered the perfect solution, allowing us to keep our existing SSH keys for authentication, existing LDAP users and transfer our existing project pretty easily. Since then, we never ran into issues and the server is running smoothly since the first day.
The server is based on RoR so it's heavier than a simple Git Server. You need to make sure you have enough resources to get it to run properly.
A good alternative to GitHub
Our company uses GitLab for app development and docs. As a tech writer I'm mainly working in "developing" docs, and need to follow corresponding issues for software development in multiple projects/repos. I suspect there can be easier workflows to integrate the two (linking issues from different projects) but overall it's easy to manage working in multiple projects/repos.
I've used JIRA previously, and feel that the issue/bugtracking/task board side is comparable in features and reliability (though JIRA may offer more categories of information).
The Git side is standard, I don't miss any feature and always worked out snags without problem based on GitLab documentation. I haven't used GitHub as much, but from my experience GitLab mirrors the functionality with only slight differences, and covers more or less the same business needs.
-nice to create a branch directly from an issue so all related information stays handy in one place
-integrates well with local git client (tortoise git, vscode git integrations) so you can switch between tools without git-related errors
-easy to create to-do list workflow with issues from multiple projects/repos
-easy to revert a bad merge
-preview doesn't work well with some file types (like rst)
-interface is kind of fussy when trying to edit things like labels on an issue, could be easier
-UI can get a bit crowded, and not many options to hide or change view
-wiki is hard to maintain unless you pull a local copy
Why use Github when we have GitLab?
I can have private software git repositories by free. Differently by Github, that charges you to have a private repository. The interface is beautiful, has a wiki, and the commits work fine from Linux.
Doesn't exist an app to make the commits (like in GitHub), thus you just need to use the terminal line (which shouldn't be a problem for any programmer), and the community isn't very well developed, thus you still will need to go to Github to find software repositories.
Using this pro git tool for a year, I never need to look for alternatives...
Gitlab is our repository bank, It's powerful features (very less git providers have such) like branch level user access streamline our work.
-Even its free tier is really powerful to drive a full startup company, I used it for like a year.
-Really impressive UI/ Its web IDE (I use it for commit very critical patches/ resolve minor conflicts) is out of the box.
-It has everything like a user access control on repository level, that is too simple to use with Its web interface.
-Its support for CI/CD is really impressive, It provides these tools at its core in both free and paid tiers, I'm using Jenkins with it.
-Even it provides time tracking/ time estimate module in Its free tiers, I never used it but these things really look impressive, we even check it's applicability within our office and found it good to move in near future.
-The cheery pick is a little tricky git command, it provides this functionality at a button click (I really like it).
It's downtime when my team were using its free tier, we face downtime, runtime error or SSL downtime problem many times a day, but when we start using it paid services we are now less facing such issues.
Simple and powerful
Intuitive and easy-to-use interface, enlisting and cloning repos, browsing & viewing files, switching between branches and repositories, configuring rights/groups, locking branches etc. We've integrated it with Jira and Jenkins and it worked seamlessly.
It needs to improve the interface and features for file comparison in merge requests and commit history.
1. Files with moderate amount of changes are collapsed by default. Many reviewers do not notice that and skip reviewing the code and miss major bugs.
2. Larger diffs are not even loaded in review window. Again, it's easy for reviewers to miss such files in merge requests.
3. When viewing the diff, you're limited to a certain unchanged area before and after the diff within the file. You'd have to view the entire file separately and locate the diff in plain file viewer.
Keep your project private all the time
I am using the GitLab for my startups and the projects that I have and I have a developer team and this tool makes easy to contribute to the project and our project is always private and only the members of the team could access it.
GitLab is also a version control system and it has all the functionalities as other competetives. The cool thing about gitlab is that it provides you free private repository for free. As it is known that in most software projects the confidentiality is one of the key issue and people always want to keep their codes private. For this people GitLab is the right place
While using this tool I have not faced with any problems or case that I dont like. The only reason is that there not to much people who know about this software and they are preferring other platforms for version controls.
Our main versioning system because of its easy of use
This software versioning system is very easy to use and allows us to have confidence in the fact that our software is always safe and protected.
The interface is clean and modern. It is easy to navigate and every option is in a logical place. The GitLab team is working very hard on updating the application, adding new features, improving the interface etc. and they are generally very good in updating customers about these changes. They also regularly send out security updates and information, which is very comforting for us as users.
Although the updates are helpful or improve something, the number of them, along with the fact that the changes they incorporate on the front-end are quite big, often mean that it takes me a few days to adjust to the changes of an update as I am looking for where certain features have been moved. In the end it is a minor inconvience, but I would appreciate less changes to user interface management.
Excellent code repository and much more
Gitlab is a great alternative to the market leader and has evolved beyond just SCM to full CI/CD develops.
Gitlab is a very versatile devops platform. It works very well as a git code repository but also includes additional features (image registry, CI/CD, wiki, issue tracking) that allows it to manage the entire devops lifecycle. Setup is simple with the Community Edition, it runs on-premise or in cloud with minimal hardware requirements. Setting up users, groups, projects, repositories are very straightforward. You can combine gitlab with another CI/CD tools like Jenkins to automate CI testing or just use Gitlab on its own. This gives you the flexibility to use existing investments while having Gitlab for source code management. I especially liked the issue tracker which allows for better collaboration towards solving issues.
Compared to the market leader, there is less of a community-vibe. If I go to github.com, I can search through thousands of different repositories and find many examples and solutions. Same can't be said for gitlab, it really just feels like a private enterprise product. Not necessary a bad thing but it would be nice to have more community focus.
The Entire DevOps Lifecycle
GitLab isn't just for hosting your code, it's for the entire lifecycle of your code. Since they host code, it makes sense for them to provide services around development and getting code into production.
Their integration into other services is really easy. They give you GitLab-CI for any CI/CD needs, driven from a yaml file.
You also get integrations into Prometheus and Kubernetes, which make deployment and monitoring a breeze.
GitLab could do with a bit more polish. Due to the many features, it's often difficult to find a setting that you need. Often you need to search around a little to find it.
Some of the documentation isn't very good either.
Great code maintenace
It's great for managing source code, a must have for every programmer
Great features like a file manager
Very easy to use within a team
It's free while GitHub is owned by a company
A lot of its features are hidden in menus and submenus
You have to get used to it first, it has a learning curve
rapid and best code sharing option
it is one of the best and rapid solution to share code in team and preserve it. it provides all the options to pull and push a code and it is best in terms of commits. any time i can go to any commit and use the code. i can clone the code with the link at anytime and anywhere. and the code correction option is also quite good. anyone can give review of any line of code.
the thing i do not like is it do not give proper access modifier to manipulate the code access. if i choose private i need to give some rights to some users which it do not allow. other wise it is good in all the aspects.
A great alternative to the market leader
GitLab was a lifesaver for us as a small startup development team. Once we graduated to more enterprise-grade development, we switched from GitLab to the market leader, however we didn't NEED to "upgrade" for any particular reason.
GitLab has all the functionality of the other major players in this segment and even a few unique ones, all for a better price, especially if you self-host. For an small development team, it was invaluable to get all the benefits of git in a free self-hosted repository platform.
There are not many cons, but the one is that it is NOT the largest market leader (trying to not use their name in this review). While there is a large community for GitLab, if you are troubleshooting or trying to figure out exactly how certain features work, you'll end up with a lot of results for GH instead of GitLab.
All this is free?!
At its most basic, GitLab is a Git repo hosting service. And if you just use it for that, you'll be just as happy with it as with GitHub or Bitbucket. There aren't any stand-out pros or cons.
But it really shines in the 'what you get for free' and the 'extra features' departments. The free hosted version gives you unlimited team sizes and private repos. They also throw in Docker-based continuous integration agents (again for free). And you can download and self-host their community edition, which has almost all the features a development team would need.
Their hosted version is a bit slow at times (much improved over a few years ago though). They've had a couple 'fail whales' over the past year too
Best for team work to pit code at one place
Git is always my favorite to commit the code if many of users are working on same project then i have only one option to put my code together.
It automatically merge the code i can't even imagine if i have to manually concatenate the code.
It is easily merge the code and we can fetch any date of code by commit number.
Git is best for team work.
Git is providing merge facility and that is best.
conflictions sometimes makes annoying.
They are difficult to resolve even project is sometimes destroy.
All the developer tools in One Tool
- Store all our internal development projects on our server (on prem)
- Monitor our deployments with GitLab CI
- Code analysis and review
- Issues managing
- Content of release
The list is long :
- Open Source
- On Prem
- Good documentation / online resources
- Web IDE
- GitLab CI/CD / Runner
- Board Issue
There are no cons with our use of GitLab. The software is up to date, bugs are solved quickly. And internally, it has been approved by all devs (and network) teams !
My opinion about GitLab
In the company we use it due to its integrity with many of the tools we use, any change you need can give you some problem than another.
Integrable with Jenkins and Jira, it can be installed locally and not make use of external systems. It is easy to handle and its version control does not require much knowledge. CI / CD compatible.
Files with a large number of lines are not easily displayed in version control. In private server it is a disaster because it is not easy to perform some tasks such as updating or migrating it.
A popular web based GIT repository manager
I'M working with Git Lab over the 3-4 years continuously. Git Lab is the only Repository tool used by my workplace. My overall experience about GIT lab is really good. It is pleasure to recommend to the developer community as one of the best repository and version control tools.
GitLab is one of the famous repository and version control tools. GitLab supports CI/CD integration. GitLab is open source and supports free unlimited private repositories. GitLab Supports for merging and branching with providing the user friendly interface.
GitLab doesn't provide fully customize permissions. less social community of the programmers are associate with the GitLab. This is need to be improved.
Best GIT repo system for starters
Gitlab is integrated with my app task manager and I'm very happy because every time we make a commit, the app store and track every push in task details and it's awesome.
No doubt this is the best git repo service in the market for free at this moment, I moved from Bitbucket and I'm very happy with the change. The pros for this: Simple UI, every feature in the right place, You can install the entire system in your own server (this is awesome), and tons of apps integrated (this is the reason that I moved from bitbucket), like clickup.
The only cons for this service is the speed, certainly their competitors are faster doing a pull or even a push.
Pretty good to ease software development
The amount of features available is quite impressive. I could automate lots of deployment work on some projects hosted there. Another great thing is having Milestones there, which is some type of a roadmap and can be set not only to a single project, but to a group of projects.
From time to time the whole team experience slowness of the UI, some basic operations like code push/pull etc. It lasts for more than a year and can't be explained easily, since I met people form other companies, who have such issues too.
Also, the documentation about cloud platform integration requires more details.