Pull master 在 Intellij 的另一个分支上

Pull master being on another branch in Intellij

当我在我的分支上时,我想从 master 中创建 pull 以获得最新版本的代码,然后我将我的分支重新设置为 master 并在我之后将我的分支推送到服务器并创建一个拉取请求。

今天我用下一种方式完成所有这些:

如何避免从 my_branch 切换到 master 并返回 Intellij?有没有办法将 master 拉到 master 在另一个分支上?

假设您提到的 master 分支在一个名为 upstream 的远程上,您可以在推送代码之前 运行 接下来的 2 个命令:

git fetch git rebase upstream/master

如果您没有设置任何遥控器,则默认遥控器名称为 origin,在这种情况下,命令为:

git fetch git rebase origin/master

git fetch 不会更改您的任何本地分支,它只会提供 git 有关服务器上存在的内容的信息。

这是一个相关的 Whosebug 问题,您可能还想在有空时查看一下:How to rebase local branch with remote master

我专门为此创建了 git 别名。将其放入您的 ~/.gitconfig

[alias]
  update = "!fn() { \
    repo=${2:-origin}; \
    if [[ $(git rev-parse --abbrev-ref HEAD) = \"\" ]]; \
    then \
        git pull \"${repo}\"; \
    else \
        git fetch \"${repo}\" \"\":\"\"; \
    fi; \
    }; fn"

然后您可以使用 git update master 更新您的本地主控而无需切换到它。或者,如果您的遥控器不是 origin,而是 upstream,您可以使用 git update master upstream。 Intellij呢,好像没有开箱即用的这个功能。