The document discusses best practices for using Git in enterprise workflows. It recommends adopting a centralized collaboration model with a single shared repository. For branching models, it suggests using either a continuous delivery model with feature, staging, and master branches, or a product release model with one branch per feature or bugfix. Key practices include using pull requests, following a strict merge protocol, and leveraging automation through hooks and continuous integration to ensure code quality.
7. You heard
has
Cheap local branching
Full local history
Staging area
Speed
Much faster than svn
Huge community
prominent in Open Source
cryptographic integrity
Superior Merging
Distributed
10. Can we do a fast
Can we fix a bug for a
specific
RELEASE
HOTFIXrelease?
for the current
?
Can we
BUILD
the current code ?
Is the code for that
FEATURE
complete?
Has everybody
REVIEWED ?
the code for this feature
28. “
Significant branches map to a concept in
the outside world. It may be a past
release, an environment or a role.
Those branches are long-running and
stable whereas feature branches are
”
short lived and volatile.
Me, just making this up.
42. The secret sauce
The merge protocol
When a branch is:
Change flows from
branch to baseline:
Change flows from
baseline to branch:
More stable than its
baseline
Continually
Never
When code complete
Continually
Release branch
Less stable than its
baseline
Feature branches
Credit: Laura Wingerd - The Flow of change
43. The secret sauce
The merge protocol
Release Branch
Never
merge!
Merge
continually
Master
Backport single
changes using
git cherry-pick
68. $ git checkout master
master is lookin'good!
c4f3b4b has 4 green builds.
$ git checkout stable-2.3
DANGER! stable-2.3 is busted.
e1324fa has 2 red builds.