Summary and Schedule
This lesson was built with The Carpentries Workbench. The content was adapted from the Software Carpentry Version Control with Git lesson, the Carpentries Incubator Version Control with Git lesson that incorporates branches and PRs, and the Library Carpentry Introduction to Git lesson. This lesson is designed to contain only the minimal amount of information to get learners functional with Git & GitHub, and should not be considered a comprehensive introduction to git.
The goal of this lesson is to introduce core git concepts and commands while following a common git workflow pattern. Learners will start with creating a repository on GitHub, then use VS Code to clone the repo, make edits locally, and push those changes to the remote GitHub repo.
Bash is not a pre-requisite for this lesson, and any bash commands
used (like pwd
or ls -a
) are purely optional.
The VS Code interface is used to create new files, and provides a GUI
interface that learners should be more comfortable with compared to a
purely terminal-based workflow.
By the end of the lesson, learners should be ready to follow the same
workflow in a repo of their own creation/choosing, and understand the
core git commands: config
, status
,
log
, add
, commit
,
diff
, push
, pull
, and
branch
. They should be comfortable using both the terminal
and the VS Code Source Control pane to perform these git operations.
Setup Instructions | Download files required for the lesson | |
Duration: 00h 00m | 1. Setup Instructions |
What software do I need to have installed? Do I have a GitHub account? |
Duration: 00h 00m | 2. Introduction to Git & GitHub |
What is Git? What is GitHub? |
Duration: 00h 10m | 3. Create a GitHub Repository |
How do I create a new repository on GitHub? How do I clone the repository to my local computer? |
Duration: 00h 20m | 4. Setup Git Configs | How do I first set up Git? |
Duration: 00h 30m | 5. Tracking Changes |
How do I record changes in Git? How do I check the status of my version control repository? How do I record notes about what changes I made and why? |
Duration: 00h 50m | 6. Pushing changes to GitHub | How do I share my changes with others on the web? |
Duration: 01h 00m | 7. Branches |
What are branches? How can I work in parallel using branches? |
Duration: 01h 15m | 8. Pull Requests |
What are pull requests for? How can I make a pull request? |
Duration: 01h 30m | 9. [Optional] Resolving Conflicts | What do I do when my changes conflict? |
Duration: 02h 01m | 10. [Optional] Practice GitHub Skills | How can I practice these git skills? |
Duration: 02h 07m | Finish |
The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.
Setup
Please complete the setup instructions prior to the workshop. In order to participate in this workshop, you must have a GitHub account, and have VS Code, git, and bash installed on your computer.
If you are participating in this workshop remotely (e.g. over Zoom), it is highly recommended that you use two screens: 1 screen with the remote meeting, to see the instructor sharing their screen, and 1 screen with your applications. You will need to have VS Code and a web browser open to GitHub.com in order to follow along.