git在不同的分支上拉动

disho6za  于 2023-03-11  发布在  Git
关注(0)|答案(8)|浏览(153)

如果我在一个分支上工作,然后意识到我需要合并另一个分支到我这里是我当前的工作流程(对于这个例子,让我们假设我在我的分支上工作,并希望合并到主):

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

在git中有没有办法拉取当前 checkout 的分支之外的分支,或者有没有更好的方法来实现这一点?
例如,下面是我希望能够做的事情(再次假设我在my-branch上,想合并到master中):

git pull master
git merge master

git-pull手册页上说git pull只是get fetch和git merge,那么有没有办法在当前 checkout 的分支之外的分支上执行git pull的merge部分呢?
还是我的要求不可能实现

avwztpqn

avwztpqn1#

我找到了一个适合我的git命令:

获取

git fetch origin master:master

上述内容的语法如下所示(thanks @Adam)

git fetch <remote> <src>:<dst>

合并

然后(如果要立即合并):

git merge master
wz8daaqr

wz8daaqr2#

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

$ git pull origin <target-branch>

参见man git-pullEXAMPLES部分:

•   Merge into the current branch the remote branch next:

           $ git pull origin next
5uzkadbs

5uzkadbs3#

试试这个:

git pull yourRepositoryName master
hi3rlvi2

hi3rlvi24#

将更改从分支1拉入分支2

假设你有这些分支:

  • 主控
  • 分支1
  • 分支2

因此,您希望将变更从branch1拉入branch2

git checkout branch2
git pull origin branch1
a8jjtwal

a8jjtwal5#

你也可以试试这个:

git fetch
git merge origin/master

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

olqngx59

olqngx596#

如果你经常把一些远程分支合并到你的“feature/”分支,比如“master”,“develop”或者“release/",那么最好的策略不是合并,而是基于一个远程分支。然后你的分支的提交会被应用到其他分支的历史记录之上。之后你可以快进合并到这个远程分支。

git pull origin master
git rebase master
u4dcyp6a

u4dcyp6a7#

具体做法是:

git checkout master
git pull --ff origin master
git checkout devel
# git merge --ff devel

所以有个化名

git config --global alias.update-branch '! bash -c "X1=\`git symbolic-ref HEAD 2> /dev/null | cut -b 12-\`; echo pulling branch $1 ... && git checkout $1 && git pull --ff origin $1 && git checkout \$X1 "'

# call it from 'devel' branch:
git update-branch master

您可以改进它以符合您的,如合并主到当前分支现在,...

xqnpmsa8

xqnpmsa88#

第一步:

git checkout yourBranch

第二步:

git fetch origin master

第三步:

git pull origin master

相关问题