Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support rebase (git rebase <branch>) #302

Closed
WizardOhio24 opened this issue Oct 2, 2020 · 5 comments
Closed

Support rebase (git rebase <branch>) #302

WizardOhio24 opened this issue Oct 2, 2020 · 5 comments

Comments

@WizardOhio24
Copy link
Contributor

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

@extrawurst
Copy link
Owner

This is a dup of #32, right? And I think the branch list view can be reused once we have more branching functionality (#91)

@WizardOhio24
Copy link
Contributor Author

I don't think so, but it is linked to #32 and the functionality implemented in this would be used in #32 . #32 wants to be able to do an interactive rebase in the log tab (so squash/fixup/reword/drop commits, i.e git rebase -i <commit>), whereas here I propose doing a rebase onto another branch (as you might do a merge) in the status tab (i.e git rebase <branch>).

#32 wants: https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History (after 'Changing Multiple Commit Messages')
This Issue wants: https://git-scm.com/book/en/v2/Git-Branching-Rebasing

I agree the branch list could be reused, so #91 should be completed before attempting this.

@WizardOhio24 WizardOhio24 changed the title Support Rebase Support rebase (git rebase <branch>) Oct 3, 2020
@extrawurst
Copy link
Owner

@WizardOhio24 thanks for clarifying - sounds right! let's tackle #91 and then focus on this

@stale
Copy link

stale bot commented Jan 1, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@extrawurst
Copy link
Owner

Supported since #897

@extrawurst extrawurst removed the wontfix This will not be worked on label Oct 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants