| Command | Description |
|---|---|
git branch |
Lists / creates and deletes branches |
git branch feature |
Creates the feature branch |
git branch -d feature |
Deletes the feature branch |
git switch |
Switches between branches |
git switch feature |
Switches to the feature branch |
git checkout |
Switches between branches |
git checkout -b feature |
Creates and switches to the feature branch |
git merge |
Merges branches |
git merge feature |
Merges the feature branch into the current branch |
git merge --abort |
Aborts a merge |
git merge --squash |
Squaches commits on branch into a single commit and merge |
This session
In this session, you will work on the following tasks:
- Reading: Read the chapter(s) ?meta:chapter in the Version Control Book.
- Implementation: Try out the commands in the chapter.
- Exercises: Work on the exercises for the
recipesproject.
As always:
- Try out the commands of this session and play around with them.
- Check whether you have achieved the learning objectives.
- Ask questions!
- Letβs git started!
Learning objectives
At the end of this session, you should have achieved the following learning objectives:
π‘ You understand the purpose and benefits of using branches in Git.
π‘ You can create and switch between branches.
π‘ You can merge branches and resolve merge conflicts.
π‘ You can name at least three best practices when working with branches.
recipes project
At the end of this session, you should have accomplished the following:
- You created a new branch and merged changes into your default branch (
mainormaster). - You created and resolved a merge conflict.
Please keep the recipes folder! We will continue to use it in the following sessions.
Exercises
Branches
- If needed, navigate to the project repository using the command line.
- Create a new branch with a descriptive name, e.g.,
add-pizza-recipe. - Switch to the new branch.
- Add a new recipe to
recipes.txt. - Stage and commit the changes to
recipes.txton the new branch. - View the contents of
recipes.txtto verify your changes. - Switch back to the default branch (
mainormaster). - View the contents of
recipes.txtagain to confirm that the changes do not exist on the default branch. - Merge the new branch into your default branch.
- Delete the feature branch.
- View the contents of
recipes.txtyet again to confirm that the changes have been merged into the default branch.
π Bonus exercises
Create and resolve a merge conflict
- Deliberately create a merge conflict by making conflicting changes to the same section of
recipes.txton two separate branches (for example, change the same ingredient differently on each branch) and attempting to merge them. An example can be found in the branches chapter. - Resolve the merge conflict.
- Delete the merged branch afterwards.
Slides
To export the slides to PDF, do the following:
- Toggle into Print View using the E key (or using the Navigation Menu).
- Open the in-browser print dialog (CTRL/CMD+P).
- Change the Destination setting to Save as PDF.
- Change the Layout to Landscape.
- Change the Margins to None.
- Enable the Background graphics option.
- Click Save.
Note: This feature has been confirmed to work in Google Chrome, Chromium as well as in Firefox.
These instructions were copied from the Quarto documentation (MIT License) and slightly modified.