git rebase

when you do a git rebase, git + you are taking these steps:

  1. git rolls back to the original "base" (your branch and you want to rebase from).
  2. git starts applying the new changes, commit-by-commit.
  3. everytime there is a merge conflict. git stops and tells you to:
    • solve the merge conflicts per file (read below first)
    • git add <FILENAME> or git add . if you're lazy
    • git rebase --continue

you at this point (3.) should be aware that you are walking through history, and that means your changes may seem like they never happened (but they did, just in the future commit).

so your merge conflict resolutions, if you need to do them, should be done KNOWING that the future commit will be applied on TOP of your current code (because you are currently in between the history of the file).

  1. once it completes, you get kicked back out into your terminal. Hooray! you have just completed a hairy git rebase.