Version control systems are a class of software tools that helps keep track of file changes. In essence, a version control system records changes made to a specific part of a file and takes a snapshot of each one. Sometimes, a team of developers adds some new features to an application, but the updated version is not functioning as intended. Because the version control system records the work, it is possible to ignore the new modifications and continue using the prior version. Git is the most popular version control system that assists software development teams in independently maintaining several local copies of the project's codebase. These copies can be quickly created, merged, and destroyed, enabling teams to experiment more efficiently. Git is known for its open-source base, speed, and workflow compatibility.
TechClass Version Control with Git online course aims to acquaint you with Git and its essential functionalities. By the end of this course, you will understand the fundamental commands and uses, which include initializing a Git repository, committing changes, comparing changes, and undoing. Also, other important topics in Git like creating branches and merging them, local repository versus remote one, and pushing and pulling the changes are introduced to prepare you for working in a development team. This would be a practical step in your journey to data science toward fantastic job opportunities.
Learning outcomes
- Get familiar with the benefits of using version control systems
- Get familiar with centralized versus distributed version controls
- Learn about Git hosting services such as GitHub, GitLab, and Azure DevOps
- Get familiar with staging changes and committing them
- Learn how to compare changes and undoing
- Learn how to remove and rename files in Git
- Get familiar with creating branches, working with them, and merging the branches
- Get familiar with remotes and create a GitHub repository
- Get familiar with how to push and clone a remote repository
- Learn how to fetch and pull changes from a remote repository
- Learn what a conflict is and how to handle a merge conflict
Table of contents
Chapter 1: Intro to Course
- 1.1. Welcome!
- 1.2. About TechClass Data Science Department
- 1.3. Learning Outcomes
- 1.4. Your Expectations, Goals, and Knowledge
- 1.5. Copyright Notice
- 1.6. Abbreviations
Chapter 2: Introduction
- 2.1. What is Version Control?
- 2.2. Benefits of Using Version Control
- 2.3. Centralized vs. Distributed Version Control
- 2.4. What is Git?
- 2.5. How does Git Keep Changes?
- 2.6. Who Needs Git?
- 2.7. CI/CD
- 2.8. Quiz
Chapter 3: Git Repository Hosting Services
- 3.1. What is a Git Hosting Service?
- 3.2. GitHub and GitLab
- 3.3. Bitbucket
- 3.4. Azure DevOps
- 3.5. Comparison of Hosting Services
- 3.6. Quiz
Chapter 4: Getting Started with Git
- 4.1. Installing Git
- 4.2. git init
- 4.3. git add
- 4.4. git commit
- 4.5. Quiz
Chapter 5: Tracking Files on a Local Repository
- 5.1. Inspecting a Repository
- 5.2. Comparing Changes in Git
- 5.3. Undoing Changes: Part I
- 5.4. Undoing Changes: Part II
- 5.5. Rewriting History
- 5.6. Removing and Renaming Files
- 5.7. Quiz
Chapter 6: Working with Branches and Remotes
- 6.1. What is a Branch
- 6.2. Creating a Branch in Git
- 6.3. How to Merge Branches
- 6.4. Working with Branches
- 6.5. Delete a Branch
- 6.6. What are Remotes
- 6.7. Create a GitHub Repository
- 6.8. git push
- 6.9. git clone
- 6.10. Git GUI Clients
- 6.11. Quiz
Chapter 7: Downloading and Integrating Remote Changes
- 7.1. What is a Fetch Command in Git?
- 7.2. git pull
- 7.3. Handling a Merge Conflict
- 7.4. How Git Reverts Works
- 7.5. What is workflow
- 7.6. How to Start a New Feature Workflow
- 7.7. Git Cheat Sheet
- 7.8. Quiz
Chapter 8: Advanced Topics
- 8.1. Tagging in Git
- 8.2. Ignoring Files in Git
- 8.3. How to Stash Changes in Git
- 8.4. Quiz
Chapter 9: Final Tasks
- 9.1. Final Project
- 9.2. Self-Study Essay
Chapter 10: Finishing the Course
- 10.1. What We Have Learned
- 10.2. Where to Go Next?
- 10.3. Your Opinion Matters
- 10.4. Congrats! You did it!