Syllabus

In this course, we will learn to use git like a pro

  1. 1. GETTING STARTED

    1. introduction
    2. what is git
    3. using git
    4. installing git
    5. configuring git
  2. 2. CREATING SNAPSHOTS

    1. introduction
    2. initializing a repository
    3. git workflow
    4. staging files
    5. committing changes
    6. committing best practices
    7. skipping the staging area
    8. removing files
    9. renaming or moving files
    10. ignoring files
    11. short status
    12. viewing staged and unstaged changes
    13. visual diff tools
    14. viewing history
    15. viewing a commit
    16. unstaging files
    17. discarding local changes
    18. restoring a file to an earlier version
  3. 3. BROWSING HISTORY

    1. introduction
    2. getting a repository
    3. viewing the history
    4. filtering the history
    5. formatting the log output
    6. aliases
    7. viewing a commit
    8. viewing the changes across commits
    9. checking out a commit
    10. finding bugs using bisect
    11. finding contributors using shortlog
    12. viewing the history of a file
    13. restoring a deleting file
    14. finding the author of line using blame
    15. tagging
  4. 4. BRANCHING

    1. what are branches
    2. getting a repository
    3. working with branches
    4. comparing branches
    5. stashing
    6. merging
    7. fast forward merges
    8. three way merges
    9. viewing merged and unmerged branches
    10. merge conflicts
    11. graphical merge tools
    12. aborting a merge
    13. undoing a faulty merge
    14. picking a file from another branch
  5. 5. COLLABORATION

    1. cloning a repository
    2. get repository remotes
    3. fetching
    4. pulling
    5. switching to remote branch
    6. pushing
    7. sharing tags
    8. working with remotes
  6. 6. REWRITING HISTORY

    1. squash merging
    2. cherry-picking
    3. rebasing
    4. why rewrite history
    5. the golden rule of rewriting history
    6. undoing commits
    7. reverting commits
    8. recovering lost commits
    9. amending the last commit
    10. amending an earlier commit
    11. dropping commits
    12. rewording commit messages
    13. reordering commits
    14. squashing commits
    15. splitting a commit
  7. 7. GIT TOOLS

    1. Git-Flow
    2. Delta
    3. Meld
    4. Commitizen CLI
    5. Commit lint
    6. Husky
    7. Git jump