gitbutler icon indicating copy to clipboard operation
gitbutler copied to clipboard

Make "rebase" and "merge" configurable per repository

Open koppor opened this issue 1 year ago • 1 comments

Version

0.12.26

Operating System

Windows

Distribution Method

msi (Windows)

Describe the issue

It seems, that currently GitButler does rebasing when clicking on "Update".

Side comment: This is wished by https://github.com/gitbutlerapp/gitbutler/issues/3598 - and it seems to be implemented.

In our project setting, we do not "like" that something is force pushed. For us, the merge commits are the way to go. Because: We want to know the context the developer had when coding. A "rebase" destroys this.

How to reproduce

No response

Expected behavior

Since there are fans of rebase and fans of merge, it would be nice if one could *configure, what happens when one clicks "Update" at "Workspace": rebase or merge. Similar setting than pull.rebase

The most advanced solution would be that GitButler follows the respective git configuration: pull.rebase and branch.<branchname>.rebase (<branchname> being the integration branch name)

Relevant log output

No response

koppor avatar Sep 07 '24 16:09 koppor

Thanks a lot for the suggestion!

I really like the idea of respecting existing Git configuration as much as possible. Right now, I think this can already be controlled on a per-lane basis like so:

Screenshot 2024-09-08 at 10 23 09

If Allow rebasing is off, a merge-commit will be created instead.

But even if this solves the problem stated here, I wonder if it would make sense for GitButler to pre-populate this setting (i.e. what should be the default for new virtual branches) based on the closest Git configuration that it can find.

CC @krlvi

Byron avatar Sep 08 '24 08:09 Byron