PageRenderTime 30ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/source/posts/2017-07-19-git-wars-switching-to-gitlab.html.md

https://gitlab.com/nick.volynkin/www-gitlab-com
Markdown | 65 lines | 38 code | 27 blank | 0 comment | 0 complexity | 1d760a69d04108d9997dd6c4d9ac4ae2 MD5 | raw file
  1. ---
  2. title: "Git Wars: Why I'm switching to GitLab"
  3. author: Christopher Watson
  4. author_twitter: iDev0urer
  5. guest: True
  6. categories: GitLab
  7. image_title: '/images/blogimages/git-wars-switching-to-gitlab.jpg'
  8. twitter_image: '/images/tweets/git-wars-tweet.png'
  9. description: "New GitLab user Christopher Watson puts us through our paces and weighs up his Git hosting options."
  10. ---
  11. Its a well-known fact: GitHub has the market share when it comes to Git hosting, with Bitbucket following close behind due to their unlimited private repositories policy. But what if I told you that those werent your only options?
  12. <!-- more -->
  13. Now I have nothing against GitHub. Its a great tool and Ive been using it for years. Its built primarily in a framework I love, Ruby on Rails, and its design is one weve all come to tolerate (if not love). With GitHub controlling most of the market share, most open source projects have also found a home there.
  14. All of this being said, Id be lying if I said that GitHub didnt have its downsides. If you want private repositories, its going to cost you a pretty penny at $25 per month for your first five users, and then $9 per user after that. For comparison's sake, if you have 10 users in your organization it’s going to cost you $80 a month, and that’s a pretty small team. GitHub also has a sordid history when it comes to communicating with the community, implementing new features, and updating its somewhat dated look.
  15. Bitbucket is another beast altogether. Created by the tech conglomerate Atlassian, Bitbucket is their answer to GitHub. Its claim to fame is that you can have unlimited private repositories for freeas long as your team has no more than five people.
  16. This is actually the reason I first started using Bitbucket. However, if you do have more than five people, youre going to pay, and the quality that you pay for isnt all that great. Ive worked on a number of projects on Bitbucket where my team was plagued by slow pulls/pushes, 503 errors when attempting to view a repo, and just overall jankyness. Besides that, their design also leaves a lot to be desired. The new design looks better, but also somehow makes things even more confusing (someone needs to learn the difference between UI and UX). To be completely honest I dont have anything good to say about Bitbucket, so Im going to continue.
  17. ### So whats this GitLab thing? Is it the answer to all of our Git hosting woes?
  18. Well yes and no. GitLab is a very good product, but its not perfect. It certainly isnt as fast as GitHub when it comes to pushing and pulling repos. That being said, here are my reasons for switching to GitLab for my personal projects: GitLab is a Git hosting solution with a very large toolset and, objectively, a beautifully designed website (could it still use some work? Yes, but I digress). It is completely free for unlimited users, unlimited private repositories, and full access to most of the awesome features they provide.
  19. Yes, they still have paid tiers for the enterprise. You cant expect them to keep an awesome project like this going without some kind of monetization, but for us little guys youll most likely never have to pay. That has got to be music to your ears.
  20. ### So you said it has awesome features. To what are you referring?
  21. Well, theres quite a list. Lets take a look:
  22. 1. **Syntax themes!** In case you didnt get that, Ill say it again: syntax themes! This has been something that I have been waiting a long time for GitHub to come out with, but GitLab beat them to the punch. Were still probably a long way away from having custom themes, but the ability to have a dark theme when checking diffs in the browser is awesome.
  23. 1. **Registry:** GitLab also has a built-in Docker registry for your projects. This is an amazingly powerful feature for those that want to keep their containers off of the public registry at hub.docker.com, but dont want to pay for a private service.
  24. 1. **Pipelines/GitLab CI:** Continuous integration is a huge time saver and a great way to make sure a pull request isnt going to break your app. GitLab saves you from having to use an external CI service by having their own CI built right in. Not to say you cant use an external CI if you want; GitLab has integrations for Jenkins, Bamboo, and much more.
  25. 1. **3rd Party Integrations:** As mentioned above, GitLab has 3rd party integrations for several services such as CI, code coverage, messaging, etc. Their Slack integration is great for notifying your team when stuff has been merged into master. I will be honest though, I am sure GitHub has more integrations.
  26. 1. **All the features that make GitHub great:** GitLab also ships with Wikis, Markdown-based readmes, etc. You dont really lose any features by switching, but you gain a ton.
  27. ![screengrab](/images/blogimages/git-wars-2.png){: .shadow}<br>
  28. ### So if its so great, why isnt everyone using it?
  29. There are a couple of answers to that question. First off, you have the market share factor. GitHub was one of the first Git hosting providers to market and theyve managed to hold onto that. That means that if you want people to contribute to your project, it helps to have it on GitHub because chances are the people that you want to contribute have an account.
  30. The other answer is related. Comfortability. People are simply comfortable with the tool they know and a lot of people arent like me (willing to throw everything out the window because I truly believe that the better product should get my business). This is the same reason so many people are still using Atlassian products. Its definitely not because of their user interfaces.
  31. ### So where should I go from here?
  32. That depends on you. If youre comfortable getting to know a new way of doing things, Id suggest you take a look at GitLab. It really is worth the time youll put into it.
  33. If youre already *comfortable* then go ahead and stick with what you know, but at least now you know that there are alternatives.
  34. ## About the Author
  35. [Chris Watson](https://twitter.com/idev0urer) is a freelance full-stack developer who occasionally enjoys sharing some of his many opinions with the world. He and his wife currently reside in sunny Arizona.
  36. _This post was originally published on [blog.cwatsondev.com](https://blog.cwatsondev.com/git-wars-why-im-switching-to-gitlab/)._
  37. [paper battle](https://www.flickr.com/photos/die_ani/9024130/)” by [anika](https://www.flickr.com/photos/die_ani/) is licensed under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/)
  38. {: .note}