Version control is something I have always found difficult,
mainly because I love coding and hate dealing with all the surrounding excess.
Ultimately as a developer you can’t avoid it. However I haven’t ever been taught
how to use Git properly. Something I should really sit down some day and play
about with. In the first years of University there is never a demand to have
knowledge of Git as the projects simply aren’t advanced enough to require a
great depth of Git knowledge other than commit and push. So I thought I would
do an overview of version control and my thoughts on it.
Some of the things I have learned about version control is committing
early and often. Making small incremental changes is much more manageable than committing
large chunks of code which could break the system you are developing. This is closely
tied with having good commit messages. Having good commit messages are
important as it outlines what was changed which allows future developers to
understand easily the changes. Therefore having a large commit with a vague,
non-descriptive commit message can become really difficult.
However one thing I don’t understand is the generic error
message Git gives you. They can be confusing as they don’t give you any real
direction as to where the problem lies. This has led to me simply googling the
error and typing in the first answer to the Stack Overflow question. Which can
lead you down a rabbit hole where you end up creating more problems than the
one created.
The vast amount of Git commands out there can be daunting to
think about. Git pull, fetch, push, upstream, --lah. It can become quickly overwhelming
and difficult to understand. However tools like GitKraken, Git bash and Git GUI
do make the process more manageable and easier to understand. I particularly
like using Git Kraken’s UI as it provides a great visualisation as to what is
going on. Despite this, I feel like a child whilst using it and that I am not
really properly using Git. Most of my experience with Git has been through
Android Studio’s git features and Git Kraken. I have never felt comfortable using
the command line interfaces and perhaps that’s just a preference of interface.
So I managed to find a funny website which gives some help
to common git problems. It also describes perfectly some of the feelings I have
had whilst using Git.
“Git is hard: screwing up is easy, and figuring out how to fix
your mistakes is fucking impossible. Git documentation has this chicken and egg
problem where you can't search for how to get yourself out of a mess, unless
you already know the name of the thing you need to know about in order to
fix your problem”
https://ohshitgit.com/
https://ohshitgit.com/
To conclude I just wanted to give a quick opinion on some of
the difficulties a starting developer has felt with trying to use Git. Looking
towards the future I will play about with Git on my own, so I can feel
confident in using the versioning software.
Follow @EdwardMuldrew
Comments
Post a Comment