Skip to content

Support rebase (git rebase <branch>) #302

Closed
@WizardOhio24

Description

@WizardOhio24

Is your feature request related to a problem? Please describe.
When pushing to a remote repo, it may be required to rebase if someone else has contributed while you were working and it would be useful to be able to perform a rebase in GitUI.

Describe the solution you'd like
When you press the 'r' key in the status tab, a popup should appear asking you which branch you want to rebase onto. After selecting the branch and pressing enter, git will rebase the current branch onto the selected branch. If there are no conflicts, a popup will appear saying the rebase was successful. (For the initial implementation, this should only rebase, not fetch as well as it would in pull --rebase).
If there are conflicts, the rebase will take over the whole screen, the title will become "{current_branch rebasing onto other_branch}" with a filetree on the left and a diff box on the right (telling the user where the conflicts are). All the tabs along the top will disappear (I don't see a need for them to be there, this would clearly illustrate that the user must either abort or continue with the reabse and should make no other changes). On this rebase screen the user can press esc to cancel(abort) and 'c' to continue. After the rebase has successfully finished, a popup will be displayed saying the rebase has been completed successfully.

Describe alternatives you've considered
There is currently no way to rebase in GitUI

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions