├── .gitignore ├── LICENSE ├── _config.yml ├── collaboration ├── comment │ └── index.md ├── index.md ├── issue │ └── index.md ├── mention │ └── index.md ├── pullrequest │ └── index.md └── watching │ └── index.md ├── readme.md ├── solution └── index.md └── terminology └── index.md /.gitignore: -------------------------------------------------------------------------------- 1 | ### Jekyll ### 2 | _site/ 3 | .sass-cache/ 4 | .jekyll-cache/ 5 | .jekyll-metadata 6 | 7 | ### Ruby ### 8 | *.gem 9 | *.rbc 10 | /.config 11 | /coverage/ 12 | /InstalledFiles 13 | /pkg/ 14 | /spec/reports/ 15 | /spec/examples.txt 16 | /test/tmp/ 17 | /test/version_tmp/ 18 | /tmp/ 19 | 20 | # Used by dotenv library to load environment variables. 21 | # .env 22 | 23 | # Ignore Byebug command history file. 24 | .byebug_history 25 | 26 | ## Specific to RubyMotion: 27 | .dat* 28 | .repl_history 29 | build/ 30 | *.bridgesupport 31 | build-iPhoneOS/ 32 | build-iPhoneSimulator/ 33 | 34 | ## Specific to RubyMotion (use of CocoaPods): 35 | # 36 | # We recommend against adding the Pods directory to your .gitignore. However 37 | # you should judge for yourself, the pros and cons are mentioned at: 38 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 39 | # vendor/Pods/ 40 | 41 | ## Documentation cache and generated files: 42 | /.yardoc/ 43 | /_yardoc/ 44 | /doc/ 45 | /rdoc/ 46 | 47 | ## Environment normalization: 48 | /.bundle/ 49 | /vendor/bundle 50 | /lib/bundler/man/ 51 | 52 | # for a library or gem, you might want to ignore these files since the code is 53 | # intended to run in multiple environments; otherwise, check them in: 54 | # Gemfile.lock 55 | # .ruby-version 56 | # .ruby-gemset 57 | 58 | # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: 59 | .rvmrc 60 | 61 | # ignore Gemfile 62 | Gemfile 63 | Gemfile.lock -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Microsoft Learning 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: 'GitHub User Guide for MCTs' 2 | remote_theme: MicrosoftLearning/Jekyll-Theme 3 | exclude: 4 | - .github/ 5 | header_pages: 6 | - index.html 7 | author: Microsoft Learning 8 | twitter_username: mslearning 9 | github_username: MicrosoftLearning 10 | plugins: 11 | - jekyll-sitemap 12 | - jekyll-mentions 13 | - jemoji 14 | markdown: kramdown 15 | kramdown: 16 | syntax_highlighter_opts: 17 | disable : true 18 | -------------------------------------------------------------------------------- /collaboration/comment/index.md: -------------------------------------------------------------------------------- 1 | # Commenting 2 | 3 | You can comment on pull requests and proposed changes (commits) that other users make. When you comment on a commit, you view a source diff of the file, and you then you can comment on specific changes on a line-by-line basis or on the entire commit. You also can make suggestions about an overall project, by submitting an Issue or commenting on an existing Issue. 4 | 5 | ## Review and comment on a pull request: 6 | 7 | 1. In your browser, navigate to the applicable repo on **GitHub**. 8 | 9 | 1. Click **Pull requests *n***, where ***n*** is the number of active pull requests. 10 | 11 | 2. Select the pull request that you want to review, and then on the **Write** tab, in the **Leave a comment** text box, input your comment. 12 | 13 | 3. Click **Comment**. 14 | 15 | ## Review and comment on a commit: 16 | 17 | 1. In your browser, navigate to the applicable repo on **GitHub**. 18 | 19 | 2. Click ***n commits**, where ***n*** is the number of commits that have been submitted. If you want to review the latest commit, you can select the title/short description of the commit from file list. 20 | 21 | 3. In the **source diff** section, select the change on which you want to comment by clicking the plus sign **(+)** that appears when the mouse hovers over the applicable change. 22 | 23 | 4. On the **Write** tab, in the **Comment** text box, provide your comment. 24 | 25 | 5. Click **Comment**. 26 | 27 | > **Note**: If you wish to provide an overall comment on the commit, under n comments on commit, where n is the number of comments submitted, and then under the Write tab, in the Leave a comment text box, type your comment, and Click Comment on this commit. 28 | -------------------------------------------------------------------------------- /collaboration/index.md: -------------------------------------------------------------------------------- 1 | # Receiving update notifications, suggesting changes, and collaborating on projects 2 | 3 | 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: 4 | 5 | | Action | Description | 6 | | --- | --- | 7 | | [Watch repositories](watching/) | When you watch a repository, GitHub subscribes you automatically 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. | 8 | | [Pull request](pullrequest/) | 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. In order to create a Pull request you must first create a branch. | 9 | | [Comments](comment/) | 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 subscribe to the forum manually. | 10 | | [Issues](issue/) | 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 subscribes you automatically to issues that you create. | 11 | | [Mentions](mention/) | When another user mentions you in a conversation, using your GitHub user name (@username), GitHub subscribes you automatically to the discussion. | 12 | 13 | > **Note**: You can modify how and when you receive notifications, and you also can unsubscribe to any or all discussions. -------------------------------------------------------------------------------- /collaboration/issue/index.md: -------------------------------------------------------------------------------- 1 | # Issues 2 | 3 | Whenever you create an issue, or a comment on a pull request or commit, you also can include other GitHub users or teams into the conversation by performing a **mention** of them in the comment’s body. If you are familiar with social media services, this feature will look very familiar. 4 | 5 | ## Submit an issue 6 | 7 | 1. In your browser, navigate to the applicable repo on **GitHub**. 8 | 9 | 2. Click **Issues**, and then click **New issue**. 10 | 11 | 3. In the **Title** text box, enter the title for the issue, and then in the **Leave a comment** text box, type a description of the issue or suggestion. 12 | 13 | 4. Click **Submit new issue**. 14 | 15 | ## Review and comment on an existing issue 16 | 17 | 1. In your browser, navigate to the applicable repo on **GitHub**. 18 | 19 | 2. Click **Issues**, and then select the title of the issue that you want to review. 20 | 21 | 3. On the **Issue name** page, on the **Write** tab, in the **Leave a comment** text box, type your comment. 22 | 23 | 4. Click **Comment**. 24 | -------------------------------------------------------------------------------- /collaboration/mention/index.md: -------------------------------------------------------------------------------- 1 | # Mention a GitHub user in a comment: 2 | 3 | 1. In your browser, navigate to the applicable repo on **GitHub**. 4 | 5 | 2. Create your comment or issue, as described previously, and then in the **comment** text box, type **@**, followed by the user or team name, within the comment. 6 | 7 | > **Note**: When you type the **@** symbol, a list appears that contains GitHub users who are collaborators on the applicable project and anyone who is participating in the project’s comments. The list uses autocomplete as you type, so that you can filter the list easily. 8 | -------------------------------------------------------------------------------- /collaboration/pullrequest/index.md: -------------------------------------------------------------------------------- 1 | # Suggesting changes and collaborating on a repo 2 | 3 | GitHub makes it easy to collaborate with other Microsoft Learning users on the courses in which you are interested. 4 | 5 | You can modify your own copy of the lab materials, and then submit your changes to Microsoft Learning so that they can incorporate your updates. You might want to modify your lab materials if: 6 | 7 | - You find a mistake in a lab. 8 | 9 | - The UI has changed since the lab was created. 10 | 11 | - You think that the lab needs improvements or modifications. 12 | 13 | To modify lab materials, you should branch the repo, make updates in your branch, and then submit a pull request to the main (master) branch. This allows Microsoft Learning staff, and other MCTs and GitHub users to review, and comment on, your changes. 14 | 15 | You can review and comment on changes that other users make, and Microsoft Learning staff then approves and merges these changes into the master branch. This action notifies any user who is watching the repo that a change has occurred. 16 | 17 | ## Create a repo branch 18 | 19 | 1. In Internet Explorer, navigate to the repo on GitHub. 20 | 21 | 1. Click **Branch : branchname**, and then from the **Branches** list, select the branch you want to copy. 22 | 23 | > **Note**: If there is only one branch, the **Branch** drop-down list shows **Branch: master**, and the only branch that is available is **master**. 24 | 25 | 3. In the blank text box, type the name of the branch that you want to create. 26 | 27 | 4. Click **Create branch: new branch name** when it appears. 28 | 29 | After you have created a Branch, you can clone the files to your local repo, update them on your computer, and then check in the changes from the GitHub Desktop. If you are working with Markdown or other text files, you can edit them in GitHub, and then check in the changes online. 30 | 31 | ## Delete a repo branch 32 | 33 | 1. In Internet Explorer, navigate to the repo on GitHub. 34 | 35 | 2. Click ***n* branches**, where ***n*** is the number of existing branches. 36 | 37 | 3. On the **Branches** page, in the row for the branch that you want to delete, click **Delete this branch** icon. 38 | 39 | ## Commit changes by using GitHub Desktop: 40 | 41 | 1. Open **GitHub Desktop**. 42 | 43 | 2. Select the repo that contains your changes, and then click **Changes**. 44 | 45 | 3. Select the changes that you want to commit, and then in the **Summary** text box, write a short description of the change. 46 | 47 | 4. In the **Description** text box, write a more-detailed description of the change, if necessary. 48 | 49 | 5. Click **Commit to master**, and then click **Sync** to push the local changes to the online repo. 50 | 51 | ## Edit files and commit changes in the online repo: 52 | 53 | 1. In your browser, navigate to the applicable repository on **GitHub**, and then select the file that you want to edit. 54 | 55 | 2. Click the **Edit this file** icon. 56 | 57 | 3. Make your changes in the **Edit file** tab of the webpage, and then click **Preview changes** to view your proposed changes, without committing them. 58 | 59 | 4. Under **Commit changes**, in the **Update *filename*** text box, enter a short description of the changes. 60 | 61 | 5. In the **Add an optional extended description...** text box, enter a more detailed description of the change, if necessary, and then click **Commit changes**. 62 | 63 | ## Create a pull request: 64 | 65 | 1. In your browser, navigate to the applicable repository on **GitHub**. 66 | 67 | 2. Click **Branch:branchname**, and then in the **Branches** list, select the branch for which you want to create a pull request. 68 | 69 | 3. Click **New pull request**, and then on the **Open a pull request** page, in the **Title** text box, update the name of the pull request, if necessary. 70 | 71 | 4. On the **Write** tab, in the **Leave a comment** text box, provide a description of the proposed change, and then click **Create pull request**. 72 | -------------------------------------------------------------------------------- /collaboration/watching/index.md: -------------------------------------------------------------------------------- 1 | # Watching a repo 2 | 3 | The simplest way to make sure you know about any changes to a repo is to watch it. You can do that, even if you do not clone a local copy of the repo. 4 | 5 | To watch a repo, perform the following steps: 6 | 7 | 1. In Internet Explorer, navigate to the repo on GitHub. 8 | 9 | 2. Click **Watch**, and then under **Notifications**, select **Watching**. 10 | 11 | To quit watching a repo, perform the following steps: 12 | 13 | 1. In Internet Explorer, navigate to the repo on GitHub. 14 | 15 | 2. Click **Watch**, and then under Notifications, select **Not watching**. 16 | 17 | > **Note**: You can select the **Ignoring** option under the **Watch** drop-down list. However, this means that you receive no notifications, even if another user includes you in a discussion with the mention functionality and your GitHub user name. Therefore, you should be careful configuring the **Ignoring** option. 18 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # GitHub User Guide for MCTs 2 | 3 | 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. 4 | 5 | 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. 6 | 7 | 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. 8 | 9 | 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. 10 | 11 | > **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. 12 | 13 | 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. 14 | 15 | 16 | > **Note**: To address general comments about the course and demos, or how to prepare for the course, please use the MCT forums. 17 | 18 | ## Sections 19 | 20 | - [GitHub Terminology](https://microsoftlearning.github.io/MCT-User-Guide/terminology/) 21 | 22 | - [Receiving update notifications and collaborating on projects](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/) 23 | 24 | - Suggest changes or submit an issue to lab instructions 25 | 26 | ## GitHub Terminology 27 | 28 | 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](https://docs.github.com/en/get-started/quickstart/github-glossary). 29 | 30 | | Term| Explanation | 31 | | - | - | 32 | | 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. | 33 | | 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. | 34 | | 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. | 35 | | 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/. | 36 | | 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. | 37 | | 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. | 38 | | Fetch| This is the process of retrieving a copy of the latest changes from an online repo. However, a fetch does not merge changes. | 39 | | Pull| This is the process of fetching the latest changes from an online repo and merging them with local changes. | 40 | | 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. | 41 | | 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. | 42 | | Push| This is the process of sending or submitting your local changes to the online repo. | 43 | | Collaborator| This is a GitHub user that has permissions to add, delete, or change a repo's content. | 44 | 45 | ## Receiving update notifications, suggesting changes, and collaborating on projects 46 | 47 | 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. 48 | 49 | | Action| Description | 50 | | - | - | 51 | | [Watch repositories](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/watching/)| 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. | 52 | | [Pull request](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/pullrequest/)| 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. | 53 | | [Comments](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/comment/)| 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. | 54 | | [Issues](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/issue/)| 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. | 55 | | [Mentions](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/mention/)| When another user mentions you in a conversation, using your GitHub user name ([@username](https://github.com/username)), GitHub automatically subscribes you to the discussion. | 56 | 57 | > **Note**: You can modify how and when you receive notifications, and you also can unsubscribe to any or all discussions. 58 | 59 | ## Submit Issues or suggest changes to lab instructions 60 | 61 | 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. 62 | 63 | | Action| Description | 64 | | - | - | 65 | | [Pull request](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/pullrequest/)| 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. | 66 | | [Comments](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/comment/)| 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. | 67 | | [Issues](https://microsoftlearning.github.io/MCT-User-Guide/collaboration/issue/)| 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. | 68 | -------------------------------------------------------------------------------- /solution/index.md: -------------------------------------------------------------------------------- 1 | # Microsoft Learning's GitHub solution for course labs 2 | 3 | The Microsoft Learning team has created a solution that allows them to publish updated lab and lab answer keys (LAKs) and updated lab scripts regularly to GitHub. The solution also includes 4 | 5 | > Coming Soon 6 | -------------------------------------------------------------------------------- /terminology/index.md: -------------------------------------------------------------------------------- 1 | GitHub introduces terminology that might be new to you, and the following list includes terms and concepts that this document uses. However, for a full list of GitHub terms, refer to the [GitHub Glossary](https://docs.github.com/en/get-started/quickstart/github-glossary). 2 | 3 | | Term | Explanation | 4 | | --- | --- | 5 | | 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. | 6 | | Repo or Repository | Each project in GitHub is in a repository, or repo. A repo contains all of a project’s files, including documentation, and it supports revision history. A repository can be public or private, and you can have a local copy of the repo on your computer hard drive, or you can use the repo within GitHub. | 7 | | Markdown | This is a text-file format that you can use 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. | 8 | | 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/. | 9 | | 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. | 10 | | 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. | 11 | | Fetch | This is the process of retrieving a copy of the latest changes from an online repo. However, a fetch does not merge changes. | 12 | | Pull | This is the process of fetching the latest changes from an online repo and merging them with local changes. | 13 | | 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. | 14 | | Pull request | This is a set of proposed changes to a repo that a user submit, and a repo’s owners or collaborators then can accept or reject the pull request. | 15 | | Push | This is the process of sending or submitting your local changes to the online repo. | 16 | | Collaborator | This is a GitHub user that has permissions to add, delete, or change a repo’s content. | 17 | --------------------------------------------------------------------------------