Description
In this course, you will :
- Begin by learning some of the fundamental concepts, such as how to create a Git repository, add files to a repository, and commit changes. You'll also discover how to clone a repository and set up branching.
- You will then progress to more advanced concepts such as Git stash, cherry-picking, working with multiple repositories, pushing code, and much more.
- Have a solid understanding of Git that will serve you well throughout your career.
Syllabus :
1. Introduction to Git
- What is Source Control?
- The Four Phases of Git Content
- Branches
- What about GitHub?
- How Git Differs from Other Version Control Systems (VCS's)
2. Git Basics
- Initializing Git Repository
- Looking at Repository's History
- Retrieving a Repository's Status
- Add Files to a Repository
- Committing Changes to a Repository
3. Clone a Repository
- Cloning a Remote Repository
- Accidental Deletion
- Recover Your Repository
4. Git Branching
- Introduction: Git Branching
- Creating a Branch
- Detached Heads
- What about Tags?
5. Merging
- Introduction: Merging
- A Toy Merging Example
- Merging Step by Step
- Handling Merge Conflicts
6. Git Stash
- Dealing With a Scenario
- Choosing Your Stash
- Challenge: Git Stash
7. Git Add Interactive
- Introduction: Git Add Interactive
- The Add Interactive Command
8. Reflog
- Lose a Commit, Get it Back
- Challenge: Reflog
9. Cherry Picking
- A Simple Cherry-Pick
- When Cherry-Picking Might Fail
- Challenge: Cherry-Picking
10. Git Rebase
- Outline of a Simple Rebase
- Walkthrough of a Simple Rebase
11. Git Bisect
- Bisecting: The Session at a High Level
- A Real 'git bisect' Session
- The Difference Between ∼ and ^
12. Fetching and Pulling Content
- Two Git Repos: 'git_origin' and 'git_cloned'
- The 'git fetch' Command
13. Working With Multiple Repositories
- Three-Linked Repositories
- Challenge: Working With Multiple Repositories
14. Pushing Code
- Creating and Pushing Branches
- Pushing to Repositories With Different Content
- The Branch Exists Only On The Remote
- Tracking Remote Branches With Different Names
15. Git Submodules
- A Worked Example
- The 'git submodule' Command
- Git Tracks the Submodule’s State
- Cloning a Project With Submodules
16. Pull Requests
- What Are Pull Requests?
- Forking And Branching in GitHub
- Make a Pull Request (delete)
17. Git Log
- A Realistic Log History
- The 'git log' Command
- 19. Squashing Commits
- Introduction: Squashing Commits
- A Worked Example
- The 'git rebase -i' Command
18. Bare Repositories
- Setting up a Bare Repository
- Squashes the Commits
- Git Pull and Merge Hell
19. Cherry-Picking and Three-Way Merges
- Attempting to Apply Cherry-Pick
- Generate and Apply Patch
20. Git Hooks
- A ‘pre-commit’ Hook
- A More Sophisticated Example
- Additional Information on Hooks