Instructor Notes
This is a placeholder file. Please add content here.
Introduction
Instructor Note
Before the start of the course you should setup a new collaborative pad where participants can answer questions and collaborate.
If running the course online you should have a list of participants and have paired them off at random.
When explaining the challenge remember to let participants know that they can use these pages to work through the steps, this is particularly important for those who are not overly familiar with Python.
Once people have completed the task ask for volunteers to describe their experiences BVC.
Instructor Note
If anyone has multiple GitHub accounts it is possible that permission
may be denied which force pushing if the wrong SSH key is used. It is
simple to work around this by adding the following to the
.git/config
of the user and ensuring it points to the
correct private SSH key that is associated with the account they wish to
use.
The important part is that it points to the correct SSH key, in the
above this is ~/.ssh/id_ed25519
which will need modifying
to reflect the users key for the account they wish to use.
Git Hygiene
Instructor Note
Remember to switch to GitHub and go through the process of creating a new repository to show where the option to select a template can be found.
Instructor Note
Show how to toggle the view on GitHub pull requests. Make sure to have an example that is already open in a tab of your browser.
If you have difftastic
already configured for Git make
sure to disable if you are going to show the difference in the terminal
live.
Instructor Note
Be prepared to explain how SSH keys can be unlocked on login so that the passwords don’t need entering every time you try to use the SSH key.
Branching
Instructor Note
Take the time to make sure everyone understands what the graphic
represents, explaining that each tag is a commit and that the
branch
forks at a given point but doesn’t have a commit
associated with it.
The history of both the main
and the
branch
contain all points from the origin but
Diverging Branches
Instructor Note
Remember to take the time to show the contents of the files and how
they “disappear” when switching branches, in particular after having
added README.md
to branch1
and switching back
to main
.
Also use git logp
alias (or other form of
git log
that shows branches) to show the changes and
explain the point at which each of the branches is at with reference to
the *
indicating commits, the branch names and where they
sit and the date/time stamps.
Instructor Note
Again remember to take the time to show the contents of the files and
how they “disappear” when switching branches, in particular after having
added README.md
to branch1
and switching back
to main
.
Also use git logp
alias (or other form of
git log
that shows branches) to show the changes and
explain the point at which each of the branches is at with reference to
the *
which denote commits, the branch names and where they
sit and the date/time stamps.
It can be useful at the end to open a second terminal and show the
history of the two git-merge-test
and
git-rebase-test
repositories to show how they differ in
terms of branches.
Hooks
Instructor Note
Make sure the audience understands what the commit
,
push
and pull
events are and they they are
actions for git to make on the repository at different stages in the Git
workflow.
Instructor Note
Check that attendees are familiar with grep
and
searching files for strings. If people are unfamiliar explain clearly
what each solution is doing in terms of the string being searched for,
the target file (.pre-commit-config.yaml
) the before
(-B
) and after (-A
) flags and how the pipe
(|
) command is used to chain expressions together.
Continuous Integration
Instructor Note
Make sure to ask the class who is familiar with YAML so you can gauge the level of experience in the room. If no one has come across it before take things a little slower and explain how the structure works.