Git must be learned on console
I've done a lot of git in my developer life. I taught people how to use git
and tried to repair the damage modern GUI systems did to those people.
Why damage? Because if you learn git with GUI tool like in an IDE you don't learn it properly.
Most GUIs are not suitable for git
Every GUI tries to hide some aspect of git to make it "more user-friendly", but this comes at a cost.
The price you have to pay is that certain features are hidden, reversed or combined, and if something breaks most people who
learned this via GUI, have no clue why it broke.
The Command Line
The command line is git's natural habitat. It is how it was initially used and still works best.
Why do I think that?
Git has a certain workflow. That can only be recognized and deeply understood
if you used the commands for this workflow.
Some examples:
You can really the dots between the working directory, the staging area and the repository
if you are forced to use "git add" and "git commit" and see the differences between these stages.
Another example is PHPStorm feature "Update Git". Modern IDEs try to mask this behaviour behind these commandos.
* Update works for all roots
* Update does fetch and merge/rebase and does not consider git.config at all
So this can cause bigger problems than intended.
When to use the GUI
If you are confident in Git: Please use the GUI.
You have probably a lots of experience fixing stuff and know what is happening there.
I use GUIs often to rebase my branch to a certain level, via a visualized tree. I've often a better overview, where my commits and branches are which is pretty neat.
If you are new to Git: Please use the command line.
You will learn faster, you will understand git, and you will be able to help others, that learned git via GUI.
And there are already to many people out there, built a skill that is often needed and learn to git.
All rights reserved Β© Niels Theen