2025-05-20 06:00:00

Git拉另一个分支

如果我在一个分支上工作,然后意识到我需要将另一个分支合并到我的这里是我当前的工作流程(在这个例子中,让我们说我正在我的分支上工作,并希望在master中合并):

git stash
git checkout master
git pull
git checkout my-branch
git merge master
git stash pop

在git中是否有一种方法来拉一个分支,而不是当前签出的一个,或者是否有更好的方法来做到这一点?

例如,下面是我希望能够做的事情(再次假设我在我的分支上,想要在master中合并):

git pull master
git merge master

git-pull手册页上说,git pull只是一个get fetch,然后是git merge,那么有一种方法可以在当前签出的分支之外的分支上执行git pull的合并部分吗?

还是我的要求根本不可能实现?


当前回答

试试这个:

git pull yourRepositoryName master

其他回答

如果你经常合并一些远程分支到你的“feature/*”分支中,比如“master”,“develop”或“release/*”,那么最好的策略不是合并,而是重新基于一个远程分支。然后从你的分支提交将被应用到其他分支的历史上。它可以快速向前合并到这个远程分支之后。

git pull origin master
git rebase master

从branch1拉入变更到branch2

假设你有这些分支:

主 branch1 branch2

所以你想从branch1拉入变更到branch2。以下是你可以做的:

git checkout branch2
git pull origin branch1

我们可以使用git pull命令从同一存储库中的另一个分支获取更改,如下所示:

$ git pull origin <target-branch>

参见man git-pull的示例部分:

•将远程分支合并到当前分支中: $ git下拉原点

试试这个:

git pull yourRepositoryName master

你也可以试试这个:

git fetch
git merge origin/master

这不会更新你的本地主指针,但它会将最新的源/主指针合并到你当前的本地分支中。