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 & GitLab, 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 GitLab, then use VS Code to clone the repo, make edits locally, and push those changes to the remote GitLab 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 GitLab account? |
| Duration: 00h 00m | 2. Introduction to Git & GitLab |
What is Git? What is GitLab? |
| Duration: 00h 10m | 3. Create a GitLab Repository |
How do I create a new repository on GitLab? 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 GitLab | 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. Merge Requests |
What are merge requests for? How can I make a merge request? |
| Duration: 01h 30m | 9. [Optional] Resolving Conflicts | What do I do when my changes conflict? |
| Duration: 02h 01m | 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 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 code.ornl.gov in order to follow along.