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>
Metadata changes
Actual Content Changes:
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)