This is my research on Git client software, Git server software and Git hosted services.
TL;DR = Use Github
Git is better than SVN for the following reasons and is why I use Git over SVN
- Git is a distibuted repository system - What this means is you can work offline with your copy of the repository to which you can save, edit and modify etc.. and then when you go online you sync your repository rather that having to sync individual changes as soon as you have made them. This makes for a more efficient working enviroment.
- There are many free Hosted Git repositories and many free local Git servers.
Online Repositories
Bitbucket | GitLab.com | Github | GitHost (GitLab?) | |
URL | https://bitbucket.org/ | https://about.gitlab.com/gitlab-com/ | https://github.com/ | https://githost.io/ |
Technology | Cloud | Cloud | Cloud | Cloud |
Model | Free / Pro | Free / Pro | Free / Pro | |
Pro Terms | basically $1 per Month User in blocks (10/25/50/100/Unlimited) - Academics can get unlimited account for free | $39 per year per user | The Pro version is billed on the number of Repos you have and they have unlimited collaborators. It is a bout $1 per month per repo in blocks (5/10/20/50) | |
Notes | Get unlimited private and public repositories with Bitbucket. Bitbucket Cloud is free for small teams of 5, integration with JIRA and Mercurial, issue tracking via JIRA, wiki -- 2gb repositry size https://confluence.atlassian.com/bitbucket/what-kind-of-limits-do-you-have-on-repository-file-upload-size-273877699.html, https://blog.bitbucket.org/2014/05/30/repository-size-limits/ | Free unlimited public & private repositories and unlimited collaborators. 10GB Disk Space - Want to start using GitLab? You can easily import your repositories from Bitbucket, GitHub, Gitorious or anywhere else, all in batch!, this is the closet to GitHub, it supports the import of git and the issues, wikis, milestones and labels, it alos looks the closets | inbuilt wiki and issue tracking | This possible is the same as Gitlab but you do not share infrastructure with other users (Single Tenant) |
Local Repositories
Bitbucket Server | GitLab CE | Git SCM | git for windows | GitStack | Bonobo Git Server | Gogs - Go Git Service | |
URL | https://bitbucket.org/product/server | https://about.gitlab.com/downloads/ | https://git-scm.com/ | https://git-for-windows.github.io/ | http://gitstack.com/ | https://bonobogitserver.com/ | https://gogs.io/ |
Technology | Windows x64, Linux x64, Mac OS X | Rasberry Pi 2 and other linux distros | Windows, Mac OS X, Linux, Solaris | Windows | Windows | Windows (via IIS) | |
Model | Paid | Free (Single Tenant?) | Free | Free | Free (for small teams) | ||
Pro Terms | $10 1-Time payment for upto 10 Users further tiers available | unlimited users | |||||
Notes | No Issue tracking | a single-tenant solution which means your IP does not share the underlying infrastructure with other customers, opensource, basically linux only and would require VM for windows | I think this is the creators of Git, possible command line only |
Notes
- What is Mercurial repository hosting - it is another type of repository
- Git was invented by linus torvell (the linux creator)
- Git does not inherently come with a bugtracker, that is specific to the supplier
- issue tracking is non standard so consider redmine
- JIRA on local PC $10 1-Time payement for up to 10 users - is this a bug tracker
- GitHub for all open source
- you can move git repositories from one proveder to another
- issue tracking is sseperate to Git and I don’t believe can be moved from 1 repo to another
- bitbucket, gitlab and github have importers
- what is jira
- gitlab seems a lot slicker
- if my projects get to big I can always do a virtual machine or use a rspeberry pi
- bitnami has a gitlab virtual machine
- bitbucket has a native windows executable
- gitlab and github are both based on ruby on rails
- need to researh JIRA
- gitlab has this thing called Continuous Integration (CI) which allows live testing of code
- gitlab does not allow githooks in community edition - http://docs.gitlab.com/ee/customization/issue_closing.html
- gitlab you can add files, bitbucket you cannot
- gitlab has CI integration
- gitlab sends you a quickstart email
My Thoughts?
- bitbuckets is great for small companies with many projects who want all features of git, bit bucket has JIRA integration and the lcoal server version with JIRA is availabe for upt to 10 people for $20 1-Time payment which is great if you want a lcoal copy. The paid versions scale up quite nicly.
- "gitlab is great for a single deloper whoes projects are not large in size, and needs many people to work on it. Gitlab communtiy edition is crippled and nto all git fuctions are vailable for the expert user, the local server is avaiable as a virtual mnachine for Pc, rasberyy pir 2 (but a bit slow) and othe flavours of linx --
- To replace GitLab, you'd need a combination of Bitbucket server, JIRA, Confluence, and Bamboo. --"
- Gitlab is the better choice for me because it has more fetures and I am never going to go over the 10gb limit and it can allow as many users as I want, If I do need more than 10gb I can setup a private server although I am not sure how to migrte to it just yet from the cloud version. the extra CI features are nice and migth come in handy later
- for all my opensourec projects, suich as myitcrm I will use Github as this is the market leader and there are no limits to the account except it cannot be a private reposotry.
- I went with the cloud version of GitLab because I don’t want the hassle of runnigna server and I can share worldwide. I also do not have to setup a serve local and maintain it. I would like to know how to backup my repositoires to my local machine once in a while.
- no free SVN repositories out there but market leading free Git reposotries hence why I have picked Git and everytone seems to be moving to it. You can migrate the whole repositorie from one palce to another in tack by a simple command
Git Clients
- SourceTree
- only works with bitbucket, bitbucket server, github
- you need an atlassian account
- GitHub Desktop
- this allows you to do all things from the desktop and as such only works for github
- Mac and Windows
- Netbeans IDE
- Eclipse