Introduction to Git
Course Outline
Software developers, data scientists, and technical writers are all harnessing the power of Git. It's an essential component of a modern workflow where it's vital that you know what's changing and need to coordinate with colleagues and clients. Whether you're a beginner eager to learn the basics, or an experienced coder seeking a better grounding, our expert-led exercises and real-world examples will equip you with the skills to master version control using Git and GitHub.
Introduction to Git Benefits
-
In this course, you will learn how to:
- Track and manage changes in your code effectively, ensuring a smooth development process.
- Facilitate teamwork by allowing multiple developers to work on different parts of a project simultaneously without conflicting changes.
- Restore previous versions of your work easily in case of errors or data loss.
- Audit changes to your code/data.
-
Training Prerequisites
While not mandatory, these prerequisites can enhance the learning experience and ease the grasp of Git concepts and practices covered in the course.
- Familiarity with programming or data wrangling would help in understanding the value of Git.
- Basic knowledge of using command line interface (CLI) would ease the understanding of Git commands.
- Knowledge of basic coding principles would facilitate understanding Git commands and workflows.
Introduction to Git Training Outline
Introduction to Version Control
Key Concepts of Version Control
Why Version Control?
Overview of Git
Best Practices
Installation of Git
Git Download and Installation
Configuring Git for the First Time
Understanding the Git Environment
Tips for Beginners
Basic Git Commands
Setting Up a Git Repository
Basic Git Workflow
Understanding the Staging Area and Commit History
Best Practices for Committing
Branching and Stashing
Utilizing Branches for Experimentation
Branch Management
Stashing Changes
Best Practices for Branching and Stashing
Merging and Resolving Conflicts
Merging Branches
Resolving Merge Conflicts
Using Visual Studio Code (VSCode) for Conflict Resolution
Best Practices in Merging
Using a Git GUI
Introduction to GitKraken
Basic Git Operations in GitKraken
Visualizing Branches and Commits
Managing Repositories Using GitKraken
Rebasing for a Clean Project History
What is Rebasing and Why Use It
Rebasing vs. Merging
Performing a Rebase
Resolving Conflicts during Rebasing
Collaboration and Remote Repositories with GitHub
Collaboration Using Git and GitHub
Using GitHub as a Remote Repository
Creating READMEs
Sharing your work via push and pull
pull vs fetch
Git Workflows
Feature Branch
Trunk-Based
Gitflow
Choosing the Right Workflow
Undoing Changes, Exploring History, and Managing Versions
Techniques to Undo Changes
Navigating History
Time Traveling in Repositories
Using Tags for Versioning
Using Git Reflogs to Retrieve Lost Work
Understanding the Functionality of Reflogs
Navigating the Reflog to Find Lost Commits
Recovering Deleted Branches and Commits
Practical Examples and Scenarios
Best Practices in Using Git
Versioning Code and Data Separately
Handling Large Files
Maintaining a Readable and Efficient History
Collaboration and Code Review
- choosing a selection results in a full page refresh