Training Videos: Get up and running with Git and GitHub using Visual Studio 2019
Tags: git, github, visualstudio
Published: 2020-05-13 20:03:56

About three years ago from today, I set out to create an app that helps professional and technical authors output their files to a highly compliant ePub format, and output to Amazon. I heard that Git and GitHub existed, but did not want to learn yet another thing given I am only an occasional developer.

As it turns out, I should have paid attention because I had a rare hard drive crash that ruined my code, and I had no backups. That is when I decided to learn Git and GitHub, so I am sharing with you my personal experience from a beginner's perspective.

## What is Git and GitHub?

Git is an open-source version control system. GitHub is a company, now owned by Microsoft, that provides a cloud-based version of Git. GitHub adds more capabilities on top of Git, like a user interface, issues tracking, project management, collaboration, and much more.

I will not try to explain it all here, because I do not want to send you down a rabbit hole of research. However, what you should know is Git is very powerful and is highly efficient when you use the command line. However, Visual Studio 2019 offers a friendly user interface that does all the basics you need as a beginner.

I am going to show you how to use Git and GitHub using the Visual Studio 2019 user interface. Later, when you grow up to the command line, everything will click for you, and it will be much easier to learn.

Okay, moving on...

## Who should watch these videos?
I created this video with two types of people in mind:

1. You use Visual Studio 2019, but you have no clue how to use Git or GitHub.
2. You use Git and GitHub, but you have no clue how to use it in Visual Studio 2019.

As of this writing, you can do everything I show you for free. There is no cost to get the free version of Visual Studio 2019, and everything I demonstrate is available in the GitHub free tier. These videos were designed for the Windows version of Visual Studio 2019.

Do keep in mind that Visual Studio 2019 and GitHub change their user interfaces all the time, so if a button or menu is not where I show on the video, you might have to poke around to find it :-)

## Video #1: Up and running with Git and GitHub using Visual Studio 2019
In this training video, I walk you through the basics of understanding Git and GitHub, along with how to use the Visual Studio interface to accomplish the basics, like:

* Add Git source control to an existing VS 2019 project.
* Create a new VS 2019 project and add Git source control.
* Publish your VS 2019 project to a GitHub repo.
* Clone a GitHub repo from GitHub to your local computer.
* Synchronize your local computer with the remote GitHub repo.
* Branching code.
* Committing code.
* Looking at code history.
* And much more.

If you do not know what all those things are, do not worry, I explain it all in the video.

{% youtube csgO95sbSfA %}

## Video #2: Collaborate using Visual Studio 2019 and GitHub
I usually put code on GitHub as a storage place, but sometimes people find it and use it for themselves. Sometimes people even want to suggest changes. When that magic happens, we call that _collaboration_. The people working with you are called _contributors_.

There are many ways to collaborate on GitHub, but I cover the two most popular, which are pull requests (PRs) and Issues.

A pull request is when the contributor sees your code and wants to make a change. After they make the code changes, they send a special message that _requests_ you _pull_ their code and consider it for addition to your code. The contributor cannot access your code directly (well, they could with your permission, but that is a discussion for another day), so you are in total control. If you don't like the code, you don't have to accept it. If you do like the code, you can review it and continue collaborating, or simply accept it.

An issue is when a contributor requests a bug fix, a new feature, or generally asks you a question. GitHub has a pretty robust tracking system that allows people to go to your repo, log an issue and say something like, "I ran this and received and Error #42 when I pressed the OK button". You will read that and can have a discussion with that person and even see the issue in Visual Studio. Should you desire, you can modify your code and even automatically update the issue.

In this video, I will demonstrate:

* Basic collaboration workflows on GitHub and Visual Studio 2019.
* How someone else can fork (copy) your code and then suggest changes with pull requests.
* How you can review pull requests.
* How people can log issues.
* How you can respond to issues and close them.

{% youtube qlxnwgLdc5I %}

## Even more
I am regularly posting more videos on YouTube, so I would appreciate your doing all the things, like subscribing, liking, and commenting.

[Bill Raymond's YouTube Channel](https://www.youtube.com/channel/UCo63gWfWRfEciJ98mJLIU0Q)