We could have made it more clear where we got our inspiration. We went through the most requested Bitbucket features and compiled the list from there.
Regarding your second comment, you do not need to host your own instance if you don't want that.
You can host all your repos, public and private, for free at Gitlab.com. There are no limits, besides a 10GB limit for git annex and no restrictions to its usage.
GitHub means tying your company's incredibly valuable central assets to a 3rd-party hosted service, despite the service being brain-dead-easy to host locally.
If you're avoiding servers, that also means that you have different accounts for every SaaS service replacement you use, and administering permissions and accounts means a lot of extra and pointless labor.
Using custom code to facilitate your business' processes -- such as server-side plugins for things like your source control -- becomes impossible.
Business processes become dependent on SaaS + data dependence that can't easily be exported from the SaaS services, and you're paying out the nose for them every month -- locally licensed software is cheaper, for quite obvious reasons, all across the board.
All so that you can avoid a once-in-N years failure of a hard drive and running apt-get?
No thanks. That's an insane cost/benefit analysis.
Server administration should be easier than it is, but it's not hard, and I'm not about to make every other business process worse just to avoid it.
GitHub is great for open source projects, but it sucks for private repositories:
* No private repo in the free plan
* Pricing per repo in the paid plan - probably fine for a startup with just a couple products, unusable for a service company that starts a new project every month
So if you care about private repos, BitBucket vs GitLab is interesting.
GitLab CEO here. If you don't want to worry about hosting it yourself (which I totally understand) please consider using GitLab.com https://about.gitlab.com/gitlab-com/ it has unlimited private repo's for free.
There are no paid repo's, all repo's are free. The costs are very limited (low single digit thousands). We pay for it with money we get from on-premises subscribers. We think this will be like email, the storage costs can be offset with other income. Instead of advertising we're thinking about offering a marketplace (similar to what Heroku does). But that is a long term plan, for the next few years we're focussed on growing it.
Thanks to the GitHub designers for saving GitLab a lot of work, I guess? Most of the GitLab design, almost all of the abstractions and interaction patterns, and even some of the UI text comes straight out of GitHub.
I don't think this is necessarily a bad thing, but GitLab feels like the webapp version of one of those GPL clones of a Microsoft app.
GitLab is being build using Bootstrap, in part so it makes it easy for our hundreds current and potential thousands of other developers to contribute.
I'm sure everyone has inspirations, but a quick look at GitLab and GitHub makes it clear that the two have diverged considerably in terms of design.
Lastly, we do believe that we have much to learn in terms of design and UX. We'd love to receive contributions and concrete feedback that help us with this.
While this doesn't add much to the discussion, I found your package pricing to be somewhat confusing (perhaps this is a typo?) [1]. I highlighted the sentence within the image, but effectively it says "$9.90 per per user/year in multiples of 20 users". I think the "per per user/year" reads strangely, since I translate that as "per per user per year".
As another side question, suppose I sign up for a GitLab account and have repositories there. Is it possible to import / move them easily if I later decide to host my own instance? I noticed that you said it's easy to migrate from Bitbucket / Github, but can repos be moved between GitLab instances easily?
Thanks for spotting the typo, fixed. It should be per user, per year.
> As another side question, suppose I sign up for a GitLab account and have repositories there. Is it possible to import / move them easily if I later decide to host my own instance? I noticed that you said it's easy to migrate from Bitbucket / Github, but can repos be moved between GitLab instances easily?
If you have a large amount of repositories, you can import them directly, rather than simply pushing them to the new server. Of course, we're happy to help you with this if needed.
The major flaw of GitLab is using Git. After having used something as logical as Mercurial it's kinda hard to switch. Besides I don't care about social and Torvalds-hype.
Currently the majority of developers and organisations are using Git. This makes it more interesting for us to focus on Git, rather than support other DVCS's.
That's understandable - from business point of view. I bet you would just use SVN instead of innovating with a new DVCS ~7 years ago. Safe choice is a safe choice.
git is 10 years old [1]. mercurial is 9 years old [2]. git won.
Way back when I was looking at both (7 years ago maybe?), it seemed that mercurial's main selling point was functional equivalence to git with a "better" architecture and source language. This is the ultimate case study in the fact that neither of those things matter to users (even deeply technical users) unless they impact user experience (stability, performance, UI, etc).
I have used both bitbucket and, recently, gitlab for personal projects and projects for small companies. I can't say much for x-feature or another, but gitlab just feels "easier".
I'm not sure I understand the strategic benefit of the #3 player attacking the #2 player, particularly when the leader is so far ahead in terms of market share.
Why don't GitLab & BitBucket instead collaborate, for example by producing a decentralized & offline-capable version of GitHub's key features (issues, pull requests)?
Once you're #1 and #2, then you can turn your guns on each other!
I didn't know Gitlab provided its own hosting, so I went with Bitbucket for my private repo. Now I'm using (self-hosted) Gitlab at work and definitely prefer its interface over Bitbucket's. Either way, for private repos Github is probably the worst option of the three.
Expensive. That's basically it. We are using Bitbucket for that reason. We aren't a large team, but we do have quite a few repos. On Github we'd be paying $50-100 per month, on Bitbucket we pay nothing. Not a big deal for a heavily funded company, but we're bootstrapping for the most part, so it's a big deal for us.
Of course that might not be a sustainable state of affairs in a big picture sense, but it works for us for right now.
I had to use this feature at a former job. I have a Github account with several open-source projects running, so the mixing of public and private repositories in the same account was annoying. I could've created a different account but then I'd have to juggle two different accounts all the time. Oh, and this private repository was on another account, so I think I wouldn't have been able to fork it onto my account without "forking out" some cash for Github, because private repos cost money. So the triangular workflow with pull requests would've been out of the question.
Whether you can upgrade depends on the major version your are on now (newer versions can be upgraded more easily), as Job said, we're happy to check for you.
I've been using BitBucket and also GitHub a ton the last few months, and while the core mission of hosting a repo works well, has anyone else noticed a distinct lack of features on these sites?
For example we had a brief crisis because we deleted branches after merging them into dev and found that we needed to rewind and merge them again. It took considerable research to figure out how to resurrect a branch from the reflog and finally from just the log, where we discovered subtleties like --no-ff that added friction (or at least the fear of it).
Why don’t these sites simply provide GUIs for common tasks like rewinding, undeleting branches/files, as well as the countless other things that users need?
Great question. GitLab is free, open source and you can host it on your own server. If you don't want to host it yourself, use GitLab.com for free, incl unlimited public, private repos, collaborators.
the free private repo information only available on homepage and sign in page. usually what i'm doing is look at the price plan and then find word free or zero dollar
I think you're looking at the price plan page of an on-premises installation https://about.gitlab.com/pricing/ If you search for free on that page you'll find GitLab CE and "Sign up for our free GitLab.com service if you want to use GitLab without installing it."
I work at an Enterprisey Financial Institution, and I'm glad that GitLab exists. If it weren't for the ability to self-host GitLab servers, we'd almost certainly be using SVN, if not something horrible like CVS, TFS, etc.
Glad to hear that! We estimate that there are over 100.000 organizations like you where people can use git with a good web interface because of GitLab Community Edition.
I think GitLab is great, but still prefer GitHub: no need to worry about hardware failures, or management. Someone does that for me, and does it well.