I and a colleague of mine tried git-flow at work and didn't found it enough flexible for our working situations. Although, we liked an idea of git branching automation, that’s how we came up with a own concept of automated git workflow. This post is to provide short description of it and to ask for comments.
The common point of many git workflows is a usage of topic-branches for development and various integration branches for testing and releases. Keeping changes in topic branches allows maintainer to select which changes to merge into integration branch. Also, when integration branch history consist of topic merges only, it’s easy to say what changes are included. The downside of this approach is the fact that merge conflicts are solved by a person (e.g., maintainer or release-manager) who don't necessarily knows how to do this right. Main idea: There is a special integration branch (named ‘develop’) and every topic-branch should get merged into develop before it could be merged into other iteration branches. To merge topic into develop, developer use a tool that checks whether this topic conflicts with other topics already merged into develop and shows potential conflicts to developer. Developer should solve conflicts by merging conflicting topics into his topic or by reverting them in develop. When this is done, the tool allows developer to merge his topic into develop branch. Since topics merged into develop do not conflict with each other, other people are able to take topics from develop and to merge them into integration/test/release/master branches in almost arbitrary combination without merge-conflicts. Such merging freedom could simplify things like split-testing, release management etc. For now such tool (we call it git-aflow, git-flow alternative) is partially implemented in Python. WIP copy may be obtained via “pip3 install gitaflow” or from github <https://github.com/einmalfel/git-aflow>. It requires python 3.2+ and git. Didn't tried it on Windows yet, but it runs fine on Fedora and Ubuntu Linux. For those interested, more detailed description and usage examples are available on a wiki <https://github.com/einmalfel/git-aflow/wiki>. Criticism, suggestions and comments are highly appreciated! -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.