Developing With Git
Git Workflow Model
"Star" model: Github has central "upstream" repo plus one "downstream" repo per dev; also each dev has "local" repo
Best to make a Github "Organization" for the project, the project repo(s) owned by the organization, all devs owners / managers of the organization and project
master
branch of repo always represents something usable by outside folks; some kind ofdev
branch structure for temporarily breaking changes etc
Git Work
Work is done on "local branch", then pushed up to dev's downstream repo, then "pull request"ed for central repo.
Someone on the team not the original dev reviews and accepts the PR (or not)
When the
dev
branch is in good shape, merge to themaster
branch
Github Resources
Issue Tracker; PR manager
"Project" (Kanban) Board
"Pages" web hosting; wiki
Fancy Git Stuff
Why
fetch
+merge
is the newpull
Revising history;
commit --amend
andrebase
andpush -f
The
reflog
and recovery (but still make a copy of the repo)When to ask for help