Using Git with a GUI

xavier-morera-v3

Welcome to this review of the Pluralsight course Using Git with a GUI by Xavier Morera.

Xavier is an entrepreneur, project manager, technical author, trainer, Certified Scrum Professional & Scrum Master and Certified Microsoft Professional and Microsoft MVP.

He has spent a great deal of his career working on cutting-edge projects with a primary focus on .NET, Solr and occasionally iOS. He’s also a fellow Simple Programmer blogger.

Good Source control management is a key part of the success of any software project.
Git is arguably the most popular and powerful source code management system available today.

It is used both for open source projects and for Enterprise software.

The aim of this course is to make you proficient using Git with Atlassian SourceTree.

Also in this series:

Part 1 – The Case for Git with a GUI

Part 2 – What You Need to Know About Git

Part 3 – Mechanics of Using Git

Part 4 – Git to the next level
Part 5 – Branching strategies for every occasion

Using Git with a GUI

Xavier says many developers consider Git to be hard. Partly because of how powerful it is.

Git was originally used directly from the command line.
Those who are used to working with an IDE tend to find this interface unfriendly.

Atlassian SourceTree provide a visual interface, and it helps developers who like working with an IDE to learn how to work with Git.

Xavier finds it makes him more effective.

Demo: Command Line vs. GUI

Xavier shows us the difference between using Git from the command line versus SourceTree, beginning with the latter.

We see the code changes are automatically detected and highlighted in green. It detects these changes as hunks.

To check in one hunk via the command line:
> git show
> git status
> git add -i
> 5
> *
> y
> q
> git status
> git commit

There are many other ways to achieve this via the command line.

Doing the same operation with SourceTree takes 9 seconds, and half of this time was spent typing out the commit message.

Why Git?

Xavier describes and explains the following advantages of Git:

– Integrity Amazingly Fast
– Local Operations Disconnected
– Distributed
– Incredibly Powerful
– A Must in Your Skillset
– Branches are different (as explained in Part 2)

Let Me Tell You a Story About Branches

A sad story of branching problems in TFS involving chaos and debugging.
This could have been avoided using Git cherry pick.

Xavier also lists a selection of the many awesome products that are available on GitHub.
There are now over 10 million repositories on GitHub.

Why Is It Hard to Learn Git?

Xavier says source control systems such as SVN and TFS are simpler and easier to use.
Their simpler workflow has some downsides. They are not distributed.

In Git, there are more place where your code can exist, and new concepts to learn.

It works different internally, with snapshots instead of deltas, and is

“represented as a directed acyclic graph of content hash pointers to file contents of blobs”

https://xkcd.com/1597/
Scared yet? The good news is it isn’t as complicated as it sounds.

“Early versions of Git did require a certain amount of brain power to wrap your mind around…” – Linus Torvalds

Xavier says Atlassian SourceTree is the best Git GUI available.

Demo: Improving Productivity with a GUI

This demonstration gives a brief overview of:

– The workspace
– folders
– cloning
– adding new repositories
– Bitbucket connection
– The open source project gitgraph
– Local and remote branches
– Pulling changes
– Show Full Output
– Creating New Branches
– Deleting Branches
– Terminal
– Editing the Repository Settings
– Right click menu actions

Atlassian SourceTree

Xavier uses the analogy of Windows vs DOS to illustrate how much more beginner friendly Atlassian SourceTree is over the standard command line interface.

He gives an number of reasons why it is perfect for beginners, yet powerful enough for experts as well.

Xavier also describes Atlassian Answers and other support offered by Atlassian.

Takeaway

– Git is Great
– Widely Used
– It’s Hard
– We should minimize the Learning Curve
– Use Git with a GUI: Atlassian SourceTree

Continue to Part 2 – What you need to know about Git

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s