diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go index 7d79fc3b0..0afd63a26 100644 --- a/pkg/gui/keybindings.go +++ b/pkg/gui/keybindings.go @@ -597,6 +597,14 @@ func (gui *Gui) GetInitialKeybindings() []*Binding { Handler: gui.handleRemoteBranchesEscape, Description: gui.Tr.SLocalize("ReturnToRemotesList"), }, + { + ViewName: "branches", + Contexts: []string{"remote-branches"}, + Key: gui.getKey("commits.viewResetOptions"), + Modifier: gocui.ModNone, + Handler: gui.handleCreateResetToRemoteBranchMenu, + Description: gui.Tr.SLocalize("resetToThisBranch"), + }, { ViewName: "branches", Contexts: []string{"remotes"}, diff --git a/pkg/gui/remote_branches_panel.go b/pkg/gui/remote_branches_panel.go index fbe299fd9..858252f82 100644 --- a/pkg/gui/remote_branches_panel.go +++ b/pkg/gui/remote_branches_panel.go @@ -132,3 +132,12 @@ func (gui *Gui) handleSetBranchUpstream(g *gocui.Gui, v *gocui.View) error { return gui.refreshSidePanels(gui.g) }, nil) } + +func (gui *Gui) handleCreateResetToRemoteBranchMenu(g *gocui.Gui, v *gocui.View) error { + selectedBranch := gui.getSelectedRemoteBranch() + if selectedBranch == nil { + return nil + } + + return gui.createResetMenu(fmt.Sprintf("%s/%s", selectedBranch.RemoteName, selectedBranch.Name)) +}