Skip to content

Instantly share code, notes, and snippets.

@RedRoxProjects
Last active September 8, 2021 16:43
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RedRoxProjects/4a83789afa996fdf3a710b5cfbba302e to your computer and use it in GitHub Desktop.
Save RedRoxProjects/4a83789afa996fdf3a710b5cfbba302e to your computer and use it in GitHub Desktop.
Recap & Resources for the Git & GitHub Training at University of Nottingham - given by Amy Dickens (GitHub Field Expert)

Git & GitHub Training - Recap

Hey folks! πŸ‘‹

Thanks for attending the Git & GitHub training on 6th March 2019. In this document is a recap of the things we covered, links to resources and other training materials.

This is a publicly accessible link - feel free to share it if you know someone who might find it useful πŸ’–.

The GitHub Flow

Remember that using Git & GitHub is all about finding a way to version control your stuff in a way that is helpful to you. That means use whichever of the tools that you find most accessible - I personally really love the inbuilt Git features of Visual Studio Code.

It takes practice to get into the workflow of using version control, but it is really helpful for those moments where you lose, delete or break things and allows others to collaborate with you without interrupting your current work in progress.

If it helps try to follow what we call the GitHub flow, it goes like this:

  1. Branch - before starting to make any changes create a new branch for the work you are doing, name it by it's purpose (for example if I were to create a new branch for making corrections to a text document I might call that branch "corrections").

  2. Make your changes - edit the files that you need to edit, every time you get to a point where you are saving the work and you are happy with your changes make a commit.

  3. Commit - commit your changes to the branch, remember to keep your commit messages as something useful that describes the work that has taken place, even though at times it may be tempting to just type "AAAAAAAAAAAAAGHHGHGHG" or "F&!@Β£$%^&!!!" when things aren't going to plan. Believe me your future self will be greatful for short to the point and helpful commit messages. Depending whether you are working with a group project on a remote repository you may do step 4 or move straight to step 5.

  4. Open a Pull Request - if you are collaborating using GitHub or another platform you might then at this point want to create a pull request for your team/supervisors/peers to review your work. In this process you may decide to make revisions to what you have done and edit the contents of the pull request.

  5. Test - if you are working specifically on code that requires testing you can do this from your current branch before merging to master. This stage helps to identify any problems before the merge takes place.

  6. Merge - Once you are happy with the work you have done and you want that to become part of the master branch you can perform a merge to add those changes to the master branch of your repository.

Whenever you are working independently it might feel like some of these steps are not required; however I still encourage you to adopt a workflow where you branch, then make changes to your files, commit whenever you have made a change you are happy with and, when you are ready to, merge those changes back into the master branch.

This way you are helping future folks (and you) when you might have to look over the commit history and it allows you to get used to these kind of workflows - which are widely used in industry.

If you want a bit of a deeper explanation about the GitHub Flow and why you might want to work this way there is a great guide to the GitHub Flow on the GitHub guides.

Slides from Training πŸ’¬

Here are the slides that I used for this workshop, I have several variations of this deck - I've included the ones we covered in the session, plus an additional materials section which talks about some other concepts you might find useful.

Get the slides here

The cheat-sheet I talk about is accessible online get it here.

Merge Conflicts - YIKES! πŸ’₯ ❗

Yesterday we looked at the ways in which we can resolve a merge conflict on the Web UI (User Interface) of GitHub.com - I've previously covered this in a blog post. Which also includes how to also resolve merge conflicts when using the GitHub Desktop App or the command line.

Read the blog post on Merge Conflicts.

GitHub Student Pack & Campus Advisors - community good stuff! πŸŽ€

Student Pack πŸŽ’ 🚩

Get the [GitHub Student Pack] for lots of additional services free of charge (you just need to make sure your account uses your university email address and you have a valid university ID).

Also you can find the training to become a GitHub Campus Expert on the GitHub Education website.

Campus Advisors

The things we covered in session are also covered in some online free to access training for GitHub Campus Advisors. This training is accessible on the GitHub Education Community Forum.

If you want to become a Campus Advisor you can find the full information on the GitHub Education Website.

Additional good stuff ✨

Here's just a list of some extra resources for training:

  • GitHub Learning Lab - find fun interactive courses here where you can learn to do more with Git & GitHub

  • GitHub Classroom - one for the teachers out there, Classroom offers a way to manage assignments with the GitHub workflow.

  • GitHub Guides - for how to guides on all things GitHub.

@RedRoxProjects
Copy link
Author

Feel free to leave questions/comments here for me if you have them! ✨

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment