This course is an exploration of solo and collaborative Source Control Management with the intention of expanding and improving your confidence and expertise with Git.
You’ll begin with a brief overview of Source Control Management before setting up and verifying your Git installation. Then, you’ll move on to a more detailed look at the Git workflow and explore variants and the not-so-rare “special situations”. With a strong understanding of the Git history and structure, you’ll learn how to use powerful tools as Branching, Merging, Reset, Revert and so on. Next, you’ll take a deep dive into more intriguing features of Git such as, Rebase, Stash, Aliases, and Patches. You will explore several examples of these commands to improve the efficiency of using Git. Finally, when you have mastered the various tools provided by Git, you’ll be provided with some suggestions that’ll help you to move forward with Git.
Once you are done with this course, perhaps you will be the one providing answers to others in trouble!
About the Author
Thom Parkin has been writing software since the days when all phones had wires. A self-proclaimed ParaHacker, Thom immerses himself in technology both professionally and as a hobby, spending his free time participating in the world of open source software. When he is not playing euro board games, he is writing software or writing about software development.
Keeping Software Under Control
As a software developer, it is important to understand Version Control and how it can help your development efforts.
Let's Git Started
Using NitrousIO provides access to the latest version of Git from anywhere at anytime; regardless of the computer used.
Verify the version of Gitthat is currently active in NitrousIO.
Global parameters in Git are applied to every activity for the user on the computer.
The Git Workflow Under a Microscope
Most developers who are new to Git fall into a standard pattern of use. There are many ways to use Git that can make your workflow more efficient.
It is important to understand how changes are 'staged' in Gitin order to be added to a commit.
The commit is pivotal to Git as a Source Control Management system. Understanding the GitCommit will broaden your understanding of Git in general.
There is no magic in Git. It uses the filesystem with a set of hidden directories that store the information.
When exchanging Git repositories (and updates), you need to connect to other computers.
When working on a project with others who may be making changes in parallel with you, it is important to keep your copy of the Git repository synchronized.
When Your Development Takes a Detour
Software development rarely runs on a straight and smooth course. Quite often, there are interruptions to the flow of development by 'other' development tasks or emergencies on the same project. Branching is the way to maintain a sense of continuity in the mayhem.
Git applies a unique approach called “lightweight” to source control branching.
Communicating with Developers of the Future
Understanding more about Git History.
Learnhow to 'phrase' commit messages that carry the most information.
Working in parallel is useless unless you can “bring it all back together” to ship it.
What to do when you make a mistake.
Changing the Way to Manage History
If we accept that the history is a story of your project, you may need to alter that history to tell the story better.
Merging brings changes together but can leave a messy history.
Sometimes, you need to know who last changed a fileand when.
Since Git manages change, it is important to be able to view those changes as differences over time.
Finding where a bug was introduced in the code can be an impossible task. Git has a tool that acts like your private detective for this.
The patch is a small, lightweight way to distribute updates.
Often, you need to access other software, such as libraries. How do you do this without cluttering your repository?
Git-ting More Efficient
Often, during our work as software developers, an ‘urgent change’ forces an interruption in your workflow. Git has a provision to “put aside” your current work temporarily.
Since Git is a command-line utility, there is a demand to do a lot of typing. Many common commands, although short, can include a complex set of options, making the typing tedious and error-prone.
Leaving the Nest
There are a few common troubles many developers face when using Git. Armed with a new understanding of how Git works, these can be easily overcome.
Throughout this presentation, we have been making notes and ideas for reference as you continue to expand your experience with Git.
Any learning is a process that should continue throughout your lifetime. This is no exception.
References and Resources
Learning is a lifetime process, and your expertise with Git should continue to grow.