The Git & Github Bootcamp | P16: Cleaning Up History With Interactive Rebase

The Git & Github

The Git & Github Bootcamp Master the essentials and the tricky bits: rebasing, squashing, stashing, reflogs, blobs, trees, & more! 00:00 1. What Really Matters In This Section 01:08 2. Introducing Interactive Rebase 04:21 3. Rewording Commits With Interactive Rebase 15:06 4. Fixing Up & Squashing Commits With Interactive Rebase 22:23 5. Dropping Commits With Interactive Rebase The course's 20+ sections are broken down into four separate units: Git Essentials Next Level Git Github & Collaboration The Tricky Bits We start off with Git Essentials. The goal of this unit is to give you all the essential Git tools you need for daily use. We start off talking about version control software, what it is, why it matters, and the history of Git. Then we install Git and run through the Unix commands you'll need to work with Git (you can skip this if you're already familiar). The bulk of this unit is focused on teaching the core Git mechanics like committing and branching and the associated concepts: the working directory, the repository, the staging area, etc. We cover Git commands including: git init, git add, git commit, git status, git log, git branch, and git merge. We end with a detailed look at branching, merging, and resolving conflicts. Then we move on to out Next Level Git unit, where we cover additional commands and Git concepts that are extremely useful, but maybe not as "core" as the Git Essentials. We start with a comprehensive look at the gif diff command and the various comparisons that we can make between commits, branches, the working directory, the staging area, and more! We pay special attention to reading and parsing the dense output generated by diffs. Then we shift our focus to stashing with the git stash command, a "convenience command" that many users love incorporating into their Git workflow. Finally, we dive deep into undoing changes and time traveling with Git. We learn how to revisit earlier work, detach and re-attach HEAD, and discard changes. We cover git commands that help us undo changes including git checkout, git restore, git reset, and git revert. Next up, we change gears to focus on Github & Collaboration. We start by exploring Github (and similar tools) that host remote repositories and discussing the benefits they provide. We create our own Github repositories and sync up changes between our remote and local repositories using the git push, git pull, and git fetch commands. We then focus on commonly used collaboration workflows that students may encounter in the real world: feature branching, pull requests, forking & cloning, and more! We discuss contributing to open source projects and configuring Github repositories for collaboration. We also spend some time learning about useful Github features including Github Gists and Github Pages for free static hosting. The last unit in the course, The Tricky Bits, is really just a collection of useful Git command and advanced topics. We start by covering one of the "scarier" Git commands: rebasing! We discuss the potential benefits and pitfalls of rebasing and compare it to merging. Then we learn how to clean up our Git history by rewording, editing, dropping, and squashing commits using the interactive rebase command. Next, we discuss Git tags (lightweight and annotated tags) semantic versioning and tagging workflows. After that, we move on to a deep dive into the inner workings of Git. We discuss the files and folders Git uses internally, the role of hashing functions in Git, and the role of Git objects (blobs, trees, etc.). Next, we talk about reference logs and the git reflog command. Specifically, we learn how we can use reflogs to rescue "lost" commits and undo rebases. Finally, we learn how to write custom and powerful Git aliases! Throughout the course, you'll find tons and tons of diagrams and visual references I've created to try and explain Git. The course also includes exercises I've tested on my in-person students, to give you an opportunity to practice the concepts in the course along the way. If you are reading this sentence, I congratulate you on making it this far :) I hope you enjoy the course! Who this course is for: Anyone interested in learning Git in any capacity :) Anyone learning to code or hoping to enter a tech field Web developers, data scientists, software engineers, mobile developers, game developers, etc. Anyone who works with code or in a code-adjacent role

The Git & Github Bootcamp | P16: Cleaning Up History With Interactive Rebase

About the course

44lessons
21hours
Join now

Lessons

  1. The Git & Github Bootcamp | P1: Course Orientation
  2. The Git & Github Bootcamp | P1: Course Orientation
  3. The Git & Github Bootcamp | P2: Introducing Git!
  4. The Git & Github Bootcamp | P2: Introducing Git!
  5. The Git & Github Bootcamp | P3: Installation & Setup
  6. The Git & Github Bootcamp | P3: Installation & Setup
  7. The Git & Github Bootcamp | P4: The Very Basics Of Git Adding & Committing
  8. The Git & Github Bootcamp | P4: The Very Basics Of Git Adding & Committing
  9. The Git & Github Bootcamp | P5: Commits In Detail (And Related Topics)
  10. The Git & Github Bootcamp | P5: Commits In Detail (And Related Topics)
  11. The Git & Github Bootcamp | P6: Working With Branches
  12. The Git & Github Bootcamp | P6: Working With Branches
  13. The Git & Github Bootcamp | P7: Merging Branches, Oh Boy!
  14. The Git & Github Bootcamp | P7: Merging Branches, Oh Boy!
  15. The Git & Github Bootcamp | P8: Comparing Changes With Git Diff
  16. The Git & Github Bootcamp | P8: Comparing Changes With Git Diff
  17. The Git & Github Bootcamp | P9: The Ins and Outs of Stashing
  18. The Git & Github Bootcamp | P9: The Ins and Outs of Stashing
  19. The Git & Github Bootcamp | P10: Undoing Changes & Time Traveling
  20. The Git & Github Bootcamp | P10: Undoing Changes & Time Traveling
  21. The Git & Github Bootcamp | P11: Github The Basics
  22. The Git & Github Bootcamp | P11: Github The Basics
  23. The Git & Github Bootcamp | P12: Fetching & Pulling
  24. The Git & Github Bootcamp | P12: Fetching & Pulling
  25. The Git & Github Bootcamp | P13: Github Grab Bag Odds & Ends
  26. The Git & Github Bootcamp | P13: Github Grab Bag Odds & Ends
  27. The Git & Github Bootcamp | P14: Git Collaboration Workflows
  28. The Git & Github Bootcamp | P14: Git Collaboration Workflows
  29. The Git & Github Bootcamp | P15: Rebasing The Scariest Git Command
  30. The Git & Github Bootcamp | P15: Rebasing The Scariest Git Command
  31. The Git & Github Bootcamp | P16: Cleaning Up History With Interactive Rebase
  32. The Git & Github Bootcamp | P16: Cleaning Up History With Interactive Rebase
  33. The Git & Github Bootcamp | P17: Git Tags Marking Important Moments In History
  34. The Git & Github Bootcamp | P17: Git Tags Marking Important Moments In History
  35. The Git & Github Bootcamp | P18: Git Behind The Scenes - Hashing & Objects
  36. The Git & Github Bootcamp | P18: Git Behind The Scenes - Hashing & Objects
  37. The Git & Github Bootcamp | P19: The Power of Reflogs - Retrieving Lost Work
  38. The Git & Github Bootcamp | P19: The Power of Reflogs - Retrieving Lost Work
  39. The Git & Github Bootcamp | P20: Writing Custom Git Aliases
  40. The Git & Github Bootcamp | P20: Writing Custom Git Aliases
  41. Git Going Fast: One Hour Git Crash Course
  42. Git Going Fast: One Hour Git Crash Course
  43. Mastering Git and GitHub Essentials: Hands-on Git
  44. Mastering Git and GitHub Essentials: Hands-on Git