Pull master 在 Intellij 的另一个分支上
Pull master being on another branch in Intellij
当我在我的分支上时,我想从 master
中创建 pull
以获得最新版本的代码,然后我将我的分支重新设置为 master
并在我之后将我的分支推送到服务器并创建一个拉取请求。
今天我用下一种方式完成所有这些:
- 我在
my_branch
,我切换到master
分支
- 切换后,打开
master
,我要么执行 git pull
,要么在 Intellij 中使用图形界面 VCS->git->pull
- 我返回
my_branch
并执行 rebase
- 变基后我做了一个
git push -f
如何避免从 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呢,好像没有开箱即用的这个功能。
当我在我的分支上时,我想从 master
中创建 pull
以获得最新版本的代码,然后我将我的分支重新设置为 master
并在我之后将我的分支推送到服务器并创建一个拉取请求。
今天我用下一种方式完成所有这些:
- 我在
my_branch
,我切换到master
分支 - 切换后,打开
master
,我要么执行git pull
,要么在 Intellij 中使用图形界面VCS->git->pull
- 我返回
my_branch
并执行 rebase - 变基后我做了一个
git push -f
如何避免从 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呢,好像没有开箱即用的这个功能。