GitHub User Guide for MCTs

Cloud services, such as Microsoft Azure, are updated frequently which leads to challenges for Microsoft Certified Trainers (MCTs) as they teach courses and labs steps no longer match our cloud services. . Due to the frequency of the changes and the fact that there may not be any notification when changes occur, it can be difficult for the course development team to quickly identify and adjust for the lab changes.

To address these issues, we are using GitHub to publish the lab steps and lab scripts for courses that cover cloud services like Azure. Using GitHub allows the course’s authors and MCTs to keep the lab content current with the cloud service changes. Using GitHub allows MCTs to provide feedback and suggestions for lab changes, and then the course authors can promptly update lab steps and scripts promptly.

When you prepare to teach these courses, you should ensure that you are using the latest lab steps and scripts by downloading the appropriate files from GitHub.

This user guide is for MCTs who are new to GitHub. It provides steps for connecting to GitHub, downloading and printing course materials, updating the scripts that students use in labs, and explaining how you can help ensure that a course’s content remains current.

Note: Microsoft Learning support for accessing files on GitHub and support for navigation of the GitHub site is limited to MCTs teaching this course only.

GitHub should not be used to discuss technical content in the course, or how to prep for the course or its labs. It is specifically to address changes in the labs.

Note: To address general comments about the course and demos, or how to prepare for the course, please use the MCT forums.

Sections

GitHub Terminology

GitHub introduces terminology that might be new to you. The following list includes terms and concepts used throughout this document. However, for a full list of GitHub terms, refer to the GitHub Glossary.

Term Explanation
Git and GitHub Git is an open-source, change-tracking program, and GitHub is a site/solution built on Git. There are other websites and solutions that use Git as their backend. You would use GitHub primarily for open-source (public) development projects, and it is free for those projects. However, if you want to use GitHub for projects that are private and not open source, you must sign up for a paid version.
Repo or Repository Each project in GitHub is in a repository, or repo. A repo contains all the files for a project, including documentation, and it supports revision history. A repository can be public or private. You can have a local copy of the repo on your computer hard drive, or you can use the repo within GitHub.
Markdown This is a text-file format that can be used for creating documentation. It is text-based and very simple to update, which makes it easy to use during collaboration. GitHub then renders it as HTML.
GitHub flavored markdown (GFM) There are many variations, or flavors, of the Markdown file format. The GitHub version, commonly referred to as GFM, is one of the most common variations of Markdown. For more information about GFM and how you can use the Markup format for your GFM documents, refer to “Getting started with writing and formatting on GitHub” at https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github/.
Fork This is a copy of another repo that resides in your GitHub account, in comparison to a branch, which lives in the original repo. See “Branch” directly below.
Branch This is a copy of a repository that resides in the same repository as the original. You can merge a branch with the original.
Fetch This is the process of retrieving a copy of the latest changes from an online repo. However, a fetch does not merge changes.
Pull This is the process of fetching the latest changes from an online repo and merging them with local changes.
Merge This is the process of fetching changes from one branch and applying them to another. This includes retrieving changes from an online repo, and then applying them to that repo’s local version.
Pull request This is a set of proposed changes to a repo that a user submits, and a repo’s owners or collaborators can then accept or reject the pull request.
Push This is the process of sending or submitting your local changes to the online repo.
Collaborator This is a GitHub user that has permissions to add, delete, or change a repo’s content.

Receiving update notifications, suggesting changes, and collaborating on projects

You can configure your GitHub experience so that you receive notifications when updates occur to a GitHub repo. There are several ways in which you can sign up for notifications, and many of them relate to the many ways that you can collaborate on a project. To receive notifications, you can perform the following actions.

Action Description
Watch repositories When you watch a repository, GitHub automatically subscribes you to notifications for any new pull requests or issues that are created for that specific repository. You automatically watch any repository that you create or for which you are a collaborator.
Pull request When you create a pull request and propose that the owners of a repo accept a change that you make, you automatically subscribe to receive notifications for the related discussion about the pull request. To create a Pull request, you must first create a branch.
Comments When you make comments about another person’s pull request, GitHub subscribes you automatically to the forum that pertains to that comment, or you can manually subscribe to the forum.
Issues An issue is a suggestion, question, or request that pertains to a repository. Each issue has its own discussion, and you can subscribe to issues, or GitHub automatically subscribes you to issues that you create.
Mentions When another user mentions you in a conversation, using your GitHub user name (@username), GitHub automatically subscribes you to the discussion.

Note: You can modify how and when you receive notifications, and you also can unsubscribe to any or all discussions.

Submit Issues or suggest changes to lab instructions

If you have a suggestion or encounter an error in a lab, you can either submit a pull request and log an issue. If you already know the fix for the error, then we recommend you submit a pull request; otherwise, submit an issue.

Action Description
Pull request When you create a pull request and propose the owners of a repo accept a change that you make, you automatically subscribe to receive notifications for the related discussion about the pull request. To create a Pull request, you must first create a branch.
Comments When you make comments about another person’s pull request, GitHub automatically subscribes you to the forum that pertains to that comment, or you can manually subscribe to the forum.
Issues An issue is a suggestion, question, or request that pertains to a repository. Each issue has its own discussion. You can subscribe to issues, or GitHub automatically subscribes you to issues that you create.