Live data from Hacker News

Why aren't you using git-flow?

jeffkreeftmeijer.com

1–10 of 55 posts

Re: Why aren't you using git-flow?

#3
Because most of us don't need a branching model this complex, and if we do doing the equivalent thing with "git checkout" is trivial compared to actually managing all those branches.

Re: Why aren't you using git-flow?

#4
Our team uses this with great success. To take this a step further we name our features in conjunction with features in our project management tool. git flow feature start visitor_can_sign_in_812381 This gives us a nice mapping of feature branches to actual features. The one thing to be aware of with git flow is that the author is more on the merge side than on the rebase side. So closing features just involves merging on top of the develop branch. This hasn't raised many problems for our team though.

Re: Why aren't you using git-flow?

#7
post #5

I do the same thing without git-flow already. What will git-flow give me that I can't easily do or is awkward with using git directly?

If you are doing this style exactly without git flow, you don't gain a whole lot. It is great if you are working with a team then it forces everyone to work the same way and is very clear what you do in each situation. One of my favorite features of git-flow is housekeeping, for features when you close them it merges to develop and destroys the branch, when you do a hotfix it merges to master and develop and destroys the branch. When you release it creates a tag with whatever version you specify, and you can work on that until you are happy with the state of release, then when you push tags you will have a nice snapshot of your last deploy.

tl;dr: good for teams, and housekeeping

Re: Why aren't you using git-flow?

#9
Git flow is a great tool as a starter to teach people what a reasonable git workflow is. Once you understand got better, you may find it a bit constraining.

Personally, I don't see why you shouldn't work out of master and make release tags. The develop branch seems like an extra step that is unnecessary. But I suppose if your team is quite large it makes sense.

EDIT: Please not I am not suggesting that you not do feature branching. That is an awesome and compelling feature of git. I just don't see the need for a second branch just for developing in general in. That's what master has traditionally been for.

And yes, you can branch and redo tags at any time. If you don't know this, you probably don't understand git's underlying model very well. Time to read up: http://www.google.com/search?q=explanation+of+git+internals

Re: Why aren't you using git-flow?

#10

Git flow is a great tool as a starter to teach people what a reasonable git workflow is. Once you understand got better, you may find it a bit constraining. Personally, I don't see why you shouldn't work out of master and make release tags. The develop branch seems like an extra step that is unnecessary. But I suppose if your team is quite large it makes sense. EDIT: Please not I am not suggesting that you not do fea…

If you develop directly in master, then how can you go back and fix a severe bug in the version of the code that is in your production site without having to revert all the in-progress development changes or risk introducing them into the bugfix? I believe this is the intent of not working in master.

If you tag each release, does git allow you to checkout by that tag and then start making commits to it / make a new branch from it? I could be wrong but I thought tags in git were basically just read-only and informational - can you start work from them?

Post reply on HN