Skip to content

xstefanox/rflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

r-flow

A Git extension to help developers that want to use a structured workflow, but preserving a clean, human-readable history for their projects.

This workflow is heavily inspired by Git-Flow and its branching model but it is focused on preserving a simple branch graph that allows inspecting the project history with easiness. To achieve this goal, the workflow makes heavy use of rebasing, constantly rebuilding the graph structure to adapt it to the development progress.

Many concepts are inherited from Git-Glow, but the main idea is to maintain a single main branch, with many minor, temporary and single issue-dedicated branch.

Why using rflow

Git-Flow branching model is excellent because it defines not only a simple guideline to use a versioning system, but a complete development workflow the development team. One of its drawbacks is that it tends to mess the Git commit graph, because it always uses the merge operation. This could be non optimal for someone who is used to heavily and frequently inspect the commit graph to review the past work and monitor the work progress. On the contrary, rflow aims to maintain a simple, linear commit graph, ensuring the project history is easily readable.

Merging strategy: constantly rebasing

To achieve this goal, rflow makes heavy use of the rebase feature, always avoiding three-way commit merging and operating on local and remote branches at the same time. Feature and hotfix branches and thus recursively rebased on their corresponding main branch.

Installation

Checkout this repository somewhere into your home directory (suggested path: ~/.local/opt/rflow, to avoid cluttering the system):

git clone https://github.com/xstefanox/rflow

Link the git-rflow binary from a place into your configured PATH (most distributions come with the ~/bin or ~/.local/bin directories already configured in the PATH).

About

A Git workflow focused on rebase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages