Visual Studio代码中的Git重定基底

a5g8bdjr  于 2022-11-20  发布在  Git
关注(0)|答案(6)|浏览(248)

我的情况是这样的:我有一个production分支,一个dev分支和features分支。当我在一个features上工作时,我必须在dev分支上做一个hotfix。现在我需要对我正在工作的features分支进行rebase,以避免将来的合并冲突。当我使用JetBrain中的IDE时,我会做一个git rebase,它就能做到这一点。我在VSCode中找到的唯一命令是Git:Sync(rebase),但这并不做任何事情,也不会rebase。我得到的只是这个消息:

This action will push and pull commit to and from 'origin/Current_feature'

有人有经验吗?

bqjvbblv

bqjvbblv1#

我认为Visual Studio Code没有内置Git rebase功能。如果你想在Visual Studio Code中使用git命令行工具或Git GUI来进行rebase,你可以安装**GitLens**扩展来扩展VS Code。
GitLens的README指出GitLens支持rebasing。它指出当查看分支时,每个分支的上下文菜单包括以下命令:

    • 重置(交互式)分支(通过终端)*
    • 重设(交互式)分支到远程(通过终端)*

当查看一个分支中的提交时,每个提交的上下文菜单都包含以下命令:

    • 重设基准以提交(通过终端)*(可用时)
vlurs2pr

vlurs2pr2#

我刚试过了,很有效!!x1c 0d1x
PS:我试着用--rebase参数来设置默认的“Sync”动作,我找到了Added config option to sync+Rebase from statusbar的PR,但是还没有落地。
终于找到了解决方案,git config --global pull.rebase true而且它起作用了!!

ajsxfq5m

ajsxfq5m3#

您可以使用以下命令直接从终端运行该命令:git rebase branchgit rebase -i branch
你必须配置你的gitconfig来使用vscode进行交互式的重定基。
类似于:

[core]
  editor = code --wait

或者将envar设置为GIT_EDITOR=code\ --wait
当您想做一些不寻常的事情时,使用命令行会产生更好的结果。

b4wnujal

b4wnujal4#

看起来此VS Code PR引入了一个新的git.rebaseWhenSync选项:https://github.com/microsoft/vscode/pull/52527

我测试了它,看起来它像预期的那样工作。

z31licg0

z31licg05#

自VS代码1.51(2020年10月)以来,名为“Git:已添加重定分支...”(git.rebase):https://code.visualstudio.com/updates/v1_51#_git-rebase-command

xtupzzrd

xtupzzrd6#

在最近的VSCode版本中,您可以像这样执行Pull+Rebase:

相关问题