script of this demo:
we pretend we are working on a couple of features. Tokyo makes f1 and Toronto makes f2.
We do it a couple of ways.. including a conflict.
We pretend it's a little C program.
include.h, source.c, README.md is all there is.
on branch: take-turns
- Tokyo "implements" f1 in include.h, pushes
- Toronto pulls, "implements" f2 in source.c
- Toronto pushes f2
on branch: ff (ff stands for fast forward)
- Tokyo "implements" f1 in include.h, pushes
- Toronto "implements" f2 in source.c, commits
- Toronto tries to push.. fails because behind
- Toronto fetches, merges
- Now Toronto can push
on branch: conflict
- Tokyo "implements" f1 by adding second line to source.c
- Tokyo pushes
- Toronto "implements" f2 in source.c, commits
- Toronto tries to push.. fails because behind (again)
- Toronto fetches, merges.. conflict
- Toronto now can push