notes

Cheat sheet

git log -n 5

git push --force-with-lease
git reset --soft HEAD~1

git branch -a
git remote -v
git remote add <tracking-ref-name> <*.git>
git pull <tracking-ref-name> <branch>

Commits

Blame

Metadata changes

Actual Content Changes:

Notes

Merge strategies

Merge Commit

A---B---C---D (main)
\       \
 E---F---G (feature)

When merged:
A---B---C---D---M (main)
 \           /
  E---F---G (feature)

Merge Commit with Semi-Linear History

Before rebase:
A---B---C---D (main)
 \       \
  E---F---G (feature)
After rebase:
A---B---C---D (main)
            \
             E'---F'---G' (feature)
After merge:
A---B---C---D---M (main)
                \
                 E'---F'---G' (feature)

Fast-Forward Merge

A---B---C (main)
      \
       D---E---F (feature)

After merge:
A---B---C---D---E---F (main)