nvim: autoload/ftplugin: git: Update git rebase branch implementation
See this for reference. https://andrewlock.net/working-with-stacked-branches-in-git-is-easier-with-update-refs/
This commit is contained in:
parent
1bcb0b2ba5
commit
795389215c
2 changed files with 3 additions and 4 deletions
|
@ -10,11 +10,11 @@ nnoremap <buffer> <Leader>gf :call git#git_format_patch()<CR>
|
|||
xnoremap <buffer> <Leader>gf :call git#git_format_patch_range()<CR>
|
||||
nnoremap <buffer> <Leader>gl :call git#git_branch_log()<CR>
|
||||
nnoremap <buffer> <Leader>gL :call git#git_branch_log_pretty()<CR>
|
||||
nnoremap <buffer> <Leader>gr :call git#git_rebase_branch()<CR>
|
||||
nnoremap <buffer> <Leader>gR :call git#git_reflog_restore()<CR>
|
||||
|
||||
nnoremap <buffer> <expr> <Leader>gn git#git_branch_rename()
|
||||
nnoremap <buffer> <expr> <Leader>gp git#git_push_commit()
|
||||
nnoremap <buffer> <expr> <Leader>gr git#git_rebase_branch()
|
||||
|
||||
" Jump to sections of diff
|
||||
nnoremap <buffer> [c ?^@@<CR>
|
||||
|
|
|
@ -237,14 +237,13 @@ function! git#git_rebase_branch() abort
|
|||
let branch = split(line, "/")
|
||||
if len(branch) == 1
|
||||
" Handles the case for local branch
|
||||
execute "keepalt Git rebase " . branch[0]
|
||||
return ":Git rebase HEAD~" . " --onto " . branch[0]
|
||||
else
|
||||
" Handles the case for remote remotes/remote_name/branch_name
|
||||
let remote = branch[1]
|
||||
let branch = branch[2]
|
||||
execute "keepalt Git rebase " . remote . "/" . branch
|
||||
return ":Git rebase HEAD~" . " --onto " . remote . "/" . branch
|
||||
endif
|
||||
silent execute "keepalt bw"
|
||||
endfunction
|
||||
|
||||
" Git reflog should be run first before invoking this
|
||||
|
|
Loading…
Reference in a new issue