Feature Request: Version Control Improvement

Lately I’ve had the chance to mess around with n8n’s version control.

Firstly, I would like to emphasize how much potential this concept has. Every respectable codebase uses git for version control - it is the world-wide standard when it comes to it. Having built-in n8n integration with git for version control, vastly improves the flexibility when working with n8n, especially for a large team and for parallel work.

Currently, the git integration is limiting, and while it might be better than nothing, these limitations prevents (in my opinion) this integration from becoming a valuable tool, especially on a large scale.
–

Branches
The biggest problem when it comes to n8n’s git integration is the branches. There is currently no support for unlimited branches, and you are actually limited to 2. This prevents working in parallel on different workflows - since switching between feature branches is impossible.

Adding support for multiple branches is crucial for any git integration, and it can honestly make a world of a difference when it comes to n8n.

Push & Pull
n8n’s approach to git is ‘all or nothing’, you can either pull everything from the remote repository, or push everything to it. And while this is generally fine, allowing for fine-tuning can go a long way.

Instead of inflexible pull or push buttons, allowing to select out of a list of changed workflows which to include, can further improve the flexibility of the integration.

Commits & Rollback
Allowing users to split their changes into well-defined commits, git-style, would be fantastic! Imagine having the ability to easily rollback changes - just like any code repository.
–

All of the above should and can be nicely integrated into n8n’s UI - allowing for a user-friendly version control experience, while not compromising on features and flexibility.

I would love to hear what you think (and even more to see it happen at some point :wink: ). Let me know your thoughts!