Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
git-it-together
meetings
Commits
8b400eaf
Commit
8b400eaf
authored
Jan 04, 2017
by
French, Robert
Browse files
Merge branch 'git-flow-the-standard-git-workflow' into 'master'
Add GitFlow Example and Slides See merge request
!6
parents
be1ddb46
2211bac0
Changes
1
Hide whitespace changes
Inline
Side-by-side
git-flow-the-standard-git-workflow/README.md
View file @
8b400eaf
...
...
@@ -6,3 +6,46 @@ collaboration workflow that works best for their needs. However, getting started
from scratch can sometimes be daunting. This week we'll look at "Git-Flow", one
of the most common workflow models. We'll discuss how it works, and how you can
adapt it for your team's needs.
## Don't Mess with The Best*
*\*or at least, the most popular*
Git-Flow has a lot in common with development workflows from centralized version
control systems, but enhances those ideas with some git-specific goodness. It
came into vogue several years ago, and the canonical reference is this blog
post by Jeff Kreeftmeijer:
*
http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
### Major components of Git-Flow
*
Feature branches start from
`develop`
, and get merged back into
`develop`
*
Release Candidates are refined in their own branches
*
Bugfixes in candidates also get merged into
`develop`
*
Releases are
**tagged commits to master**
(Everybody know
[
how to make a tag
](
https://git-scm.com/book/en/v2/Git-Basics-Tagging#Annotated-Tags
)
?)
*
Emergency Bugfixes (aka "hotfixes") go into
`master`
and
`develop`
### Let's try some of this in practice:
1.
`git clone git@code.ornl.gov:git-it-together/inspirational-quote-generator.git`
1.
`git checkout -b develop`
1.
`git checkout -b add-insipirational-limericks`
1.
Add some excellent limericks
1.
`git checkout develop; git merge add-inspirational-limericks`
1.
`git checkout -b release-1.0`
1.
Fix typos in limericks
1.
`git checkout develop; git merge release-1.0`
1.
`git checkout master; git merge release-1.0`
1.
`git tag -a 1.0 -m "Add Inspirational Limericks"`
### Critiques of Git-Flow:
#### Too Complicated!
There are simpler workflows like what
[
GitHub uses internally
](
https://guides.github.com/introduction/flow/
)
,
but they rely more on Continuous Integration, and may make for a more difficult
transition for teams that are accustomed to centralized version control tools.
#### Needs Special tooling!
If you have to write extra tools on top of git, and effectively ask foks to fill
out a form every time they make a commit, you might be getting in the way of
development more than you are helping to organize it.
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment