GIT is a system for version control and tracking changes to a file or group of files.
If someone had a file called
program.HTML, when they make a new release “Back in the day” they might rename the file
program-1995-12-25.HTML to save and track changes to the file. Some might do that at the folder or directory level so the file may still be named
program.HTML but the folder would change from
website-1995-12-25 or something along those lines.
GIT changes that. Every time you “commit” a change, which is different than “saving”, GIT logs what the changes are and what you did, who did it, and date and so on. It keeps the directories clean and orderly and you can revert to older versions and more.
GIT is a what is known as a “decentralized system” of version control. This is opposed to SVN / Subversion or CVS, which is a centralized system. Centralized meaning (oversimplified), every time you make a commit, it goes to a central server and repository of code. Decentralized oversimplified means that every commit stays locally, until you push and pull the changes form other “remotes” or places with the repository.
GIT is free and open-source.
GitHub, BitBucket, GitLab, and others ( See Hosted Git Sites ) are companies that will setup a central or master repository on their servers that they will host for you, and you can connect to and access and control and update using the GIT system and GIT commands. Each place is a little different, but do something similar, they keep your code and the version history using GIT. Some you pay for, some are free, some have “private” repositories for free others you have to pay for a “private” repository. Most have an aspect of a social community of developers helping each other out. It may seem “bad” to not have your code “private”, but having it public on one of these places means others can use it and give you feedback, ask for changes and enhancements, fork it and make their own improvements while giving you credit, collaborate with you and make it better, and more.
All 3 of those, and more, use GIT as the base.
The difference is really “who” is keeping your code and the logs of your changes.
GitKraken has 2 main products, a desktop client and what they call “Glo Boards”. These products leverage GIT and the repository to do 2 different things. The “GIT CLIENT” is just a UI / User Interface to interact with the Git Repostiory, regardless of where its hosted, locally, web-based, internal company or something else. You can use this to commit files, push changes, tag things, roll back changes, see the history and version, comments, and more.
A component of the GIT system is that you can create an “issue”, which will then be tracked with the code and you can then make updates. These “issues” can be actual bugs, improvements, upgrades, overhauls, or something else. You can track it with files and the full system, and get very granular. Its basically a “TO DO” list for code. And that is part of GIT at the core.
Github, BitBucket, GitLab and others have ways to visualize those “issues” and track the changes with those issues and correlate the “issue” to the change and such in a very visual way. These companies also make it very nice and easy for a user to submit issues to you for your code so you know “what needs to change”.
Glo Boards by GitKraken (by Axosoft), is a way to visualize those tasks and issues without the need for hosting on something like GitHub or BitBucket. This becomes nice to see your “workload” or issues.
Yes, you can use GIT with BitBucket.
BitBucket is a company that uses either GIT or Mercurial / hg . Both are very similar and are “decentralized” version control systems. GIT is more popular right now.
Gitkraken is a company that has a “Free” for open source set of products. They do also have the same products that are more robust with more features for commercial use (and not just a freelancer or a dev who is looking to get his work organized).
At the end of the day, all companies want to make money. However, I feel that in the coding communities, they will offer something for free to entice people that could still be heavily utilized by smaller companies and organizations and personal devs, while still offering a more robust full featured version of the same product for companies that are expansive and can afford it and need something big.
Personally, I like the Glo boards, and I like the GitKraken Git Client. I don’t use the client anymore in favor of command line, and just using the servers repo browser that I use. The Glo Boards have a plugin for Atom.io, and the Web UI is also great. Its very visual, but it also depends on your style and your workflow.
Personally, I would try them out, and if you like them, pay for them, or see more features on top of the “free” stuff, then pay for it. BUT, if it doesn’t fit your style or workflow, then don’t use it.
This is a personal preference really.
Depends on your style, what you do, who you are working for, who you are working with, and what your organizational skills are like.
With Github, Gitlab, BitBucket, you will have certain clients that are agnostic to where the repository came from, such as TortoiseGit. Then you will have certain clients, such as GitHub Desktop Client, that only works with origin or repository. Some plugins for Atom.io and even Mobile apps are the same way.
I have used most of them at different stages and jobs and projects. I have recently tested GitKraken Client and Glo Boards. I like them, and personally only use the Glo Board occassionally. Most of my hosting is either private internal enterprise hosted for my company, or I have slowly gone away from Github, reducing what I can and can’t use for a Git Client. Git Kraken client and Glo Boards will work with any repo from anywhere.
GitKraken CAN and does work with GIT and Github and BitBucket. There are some additional features that are unlocked in the pro and enterprise versions. If you need it installed on your companies private git servers, then these might be the options for you. If you need employees to share and see the glo boards across all development, this might be for you. If you want to administer the system using your corporate security, then you will need these.