When comparing Bitbucket Server vs GitHub Enterprise, the Slant community recommends Bitbucket Server for most people. In the question“What are the best self-hosted web-based Git repository managers?” Bitbucket Server is ranked 5th while GitHub Enterprise is ranked 8th. The most important reason people chose Bitbucket Server is:
It's easy to create pull requests through the different view options and commenting. Stash also offers code reviews via pull requests, leading to better code quality.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Stash is excellent for code reviews
It's easy to create pull requests through the different view options and commenting. Stash also offers code reviews via pull requests, leading to better code quality.
Pro Issue tracking with JIRA and integration with Bamboo and HipChat
Stash uses JIRA for issue tracking and integrate out-of-the-box with Bamboo and Hitchat. Furthermore, it has many third party integrations and comprehensive API points for custom tools and integration.
Pro Easy to set up and use
Stash installation is very easy and there are install wizards for Windows, Linux and OSX. There are also a lot of tutorials and guides that cover the installation process and more.
Pro Stash is built with focus on enterprise teams
Stash is built with focus on enterprise teams, as such it can scale up to 5000 users on a single instance, it is flexible enough to deploy to multiple OS and has multiple backing stores and database options.
Pro Backed by an established company with amazing support
Stash is backed and developed by Atlassian, an established and world-class software company with a great history of customer support.
Pro Stash has a great permission system
Stash has a permissions system that has 4 levels that go down to branch level.
- Global Permissions: Decide who can log in, who the system admin is, etc...
- Project Permissions: Read, write, and admin permissions at the project level.
- Repository Permissions: Read, write, and admin permissions on a repository level.
- Branch Permissions: Access and write(push) on a branch level.
Pro Approvals for pull requests
In Stash, pull requests are visible to all team members, but they can only be approved for merging by a limited number of globally set reviewers.
Pro Stash is cross-platform
Works fully on Linux and with limitations on Windows and OS X. It also has installers that will make the installation easy for each of them.
Pro Nice and usable UI
GitHub's UI is clean and intuitive. Each view is designed to not fill the screen with useless information.
For example, the repository view displays only the most crucial data about that repo - on the top it displays the number of commits, branches, releases and contributors. When clicked, each of them will take the user to a page that displays more detailed information.
Pro Support for various cloud hosting platforms
GitHub enterprise is available for Amazon AWS, VMware and now on OpenStack KVM as well.
This facilitates the use of GitHub Enterprise for people already familiar with these platforms and allows teams to keep using their infrastructure of choice.
Pro JIRA integration
When linked to JIRA, branches, commit messages and pull requests can all reference JIRA issues. This allows JIRA to display information about your development activity in the corresponding issue.
Pro Powerful search functionality
GitHub Enterprise has powerful search features that allow users to search by file name or project name. It's one of GitHub's most powerful tools.
Pro LDAP support
GitHub has improved the LDAP performance. By optimizing searching strategies, they have reduced significant network IO and total queries. Therefore, in some cases as much as 40 percent less data is transmitted on sign on.
Pro Gists support
Gists are ways to share code or have conversations about anything without needing a full git repo, and still, they work as git repos so they are versioned, forkable and usable from git.
Pro GitHub Enterprise dows not render just markdown
GitHub does not render just markdown, it also renders geojson files, 3D models and csv files.
Pro GitHub has the ability to edit code right on the web page
With GitHub Enterprise edits to code files and to files in general can be made inline right on the web page UI.
Pro 45-day trial available
There is an option to test GitHub Enterprise for free for 45 days.
Cons
Con Paid
Costs money, but it is one-time (maintenance after first year is additional), and is much less than GitHub Enterprise if you have a rather large team.
Con Proprietary
Con No wikis or issue tracking out of the box
Stash is commonly used in conjunction with JIRA and Confluence to provide issue tracking and wiki/project management solution respectively.
Nor does it have some commonfly found info on Github, such as:
- Project description
- Most recent commit message/contributor on top
- Most recent commit message/date for each item in the file browser
- Contributor information
- Commit count, no branch count
Con It doesn't support Gists
Gists are a way to share code files, documents or discussions without needing a full git repo. Stash unfortunately has no equivalent. There is a payed plugin which can fill some of that void but it still does not compensate for the power of Gist.
Con It doesn't have the ability to edit files from the browser
In Stash you can't edit files in the Web UI out of the box. You have to buy an additional plugin for that.
Con Proprietary
If being proprietary in general is not bad enough, it's owned by Microsoft.
Con Can't natively manage large files and binaries (yet)
Max file size limited to 100MB. Git Large File Storage (GLFS) is in the works, but not ready yet. No other native options for large file/binary management.
Con No Continuous Integration packaged into the software
You'll have to set up Jenkins or pay for CircleCI, Travis, etc. in order to get CI running alongside GitHub Enterprise.
Con Update cycle lags behind public github
This is intentional, could be seen as advantageous.