我的情况是这样的:我有一个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'
有人有经验吗?
6条答案
按热度按时间bqjvbblv1#
我认为Visual Studio Code没有内置Git rebase功能。如果你想在Visual Studio Code中使用
git
命令行工具或Git GUI来进行rebase,你可以安装**GitLens**扩展来扩展VS Code。GitLens的README指出GitLens支持rebasing。它指出当查看分支时,每个分支的上下文菜单包括以下命令:
当查看一个分支中的提交时,每个提交的上下文菜单都包含以下命令:
vlurs2pr2#
我刚试过了,很有效!!x1c 0d1x
PS:我试着用
--rebase
参数来设置默认的“Sync”动作,我找到了Added config option to sync+Rebase from statusbar的PR,但是还没有落地。终于找到了解决方案,
git config --global pull.rebase true
而且它起作用了!!ajsxfq5m3#
您可以使用以下命令直接从终端运行该命令:
git rebase branch
或git rebase -i branch
你必须配置你的gitconfig来使用vscode进行交互式的重定基。
类似于:
或者将envar设置为
GIT_EDITOR=code\ --wait
当您想做一些不寻常的事情时,使用命令行会产生更好的结果。
b4wnujal4#
看起来此VS Code PR引入了一个新的
git.rebaseWhenSync
选项:https://github.com/microsoft/vscode/pull/52527我测试了它,看起来它像预期的那样工作。
z31licg05#
自VS代码1.51(2020年10月)以来,名为“Git:已添加重定分支...”(
git.rebase
):https://code.visualstudio.com/updates/v1_51#_git-rebase-commandxtupzzrd6#
在最近的VSCode版本中,您可以像这样执行Pull+Rebase: