Learning Objectives
Introduction to version control
💡 You know what version control is.
💡 You can argue why version control is useful (for research).
💡 You can name benefits of Git compared to other approaches to version control.
💡 You can explain the difference between Git and GitHub.
Command Line
💡 You can navigate directories using the command line.
💡 You can use shortcuts like the tilde or dots to navigate your file system.
💡 You can explain the difference between absolute and relative paths.
💡 You can use arguments and flags to modify command-line commands.
💡 You understand the concept of wild cards (*
) and can use it for system navigation.
Installation
💡 Downloading and installing Git
Setup
💡 You know how to set up Git for the first time
💡 You have set up Git on your computer
💡 You understand the difference between the three Git configuration levels
💡 You know how to configure your username and email address in Git
💡 You have set up your preferred text editor when working with Git
💡 You can escape the command-line text editor Vim
First steps with Git
💡 You can initialize a Git repository
💡 You can stage and commit changes
Git essentials
💡 You know how to explore the commit history
💡 You can compare different commits
💡 You know how to use and create a .gitignore
file
💡 You can discuss which files can (not) be tracked well with Git and why
💡 You know how to track empty folders in Git repositories
Branches
💡 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.
GitHub: Intro
💡 You can create a remote repository.
💡 You can connect your local Git repository to a remote repository service like GitHub or GitLab.
💡 You can pull and push changes to and from a remote repository.
💡 You can clone a repository from a remote repository.
GitHub: Advanced
💡 You know the purpose and components of a Pull Request.
💡 You know how to collaborate using the popular workflow strategy GitHub flow.
💡 You know the purpose and components of a README
file.
💡 You can fork a repository.
💡 You can create a Pull Request from a forked repository.
💡 You can protect your main
branch.
Project Management
Issues
💡 You understand the purpose of GitHub Issues.
💡 You can create and manage Issues.
💡 You can reference an Issue in another issue.
💡 You can close an Issue with a commit or pull request.
Graphical User Interfaces
💡 You understand the benefits of Git GUIs compared to the command line
💡 You can name at least two Git operations that can be considered easier in a GUI compared to the command line
💡 You try out different GUIs and become familiar with their features
💡 You know how to manage branches in a GUI
Stashing and Co.
💡 You understand the importance of selectively staging and committing changes to avoid accidental commits.
💡 You can interactively review and stage changes within files.
💡 You can effectively remove unwanted changes and files from the repository.
💡 You understand how to safely revert commits and reset the repository to a previous state.