有没有办法从我的分支中提取主更改?
Posted
技术标签:
【中文标题】有没有办法从我的分支中提取主更改?【英文标题】:Is there a way to pull the master changes from my branch? 【发布时间】:2015-08-01 00:04:08 【问题描述】:我正在做一个 3 分支项目。
我在branch1,有master分支。
当我需要从 master 中提取和合并某些内容时:
git checkout master
git pull origin master
git checkout branch1
git merge master
有没有办法从我的分支中提取主更改,这样我就不需要进行合并了?
类似:
git pull origin master
但是从 branch1 没有切换到 master 分支。
编辑
简历:
我有3个分支:每次master有新东西,我都不想切换到分支master。我想要的只是将主新功能拉到我的分支中,而不是去主分支。
【问题讨论】:
有点不清楚你所说的pull是什么意思。拉取和合并是两个不同的概念。 我认为你需要切换到一个分支来拉,以防发生冲突 - 你无法在不签出的情况下解决冲突......但永远不要说永远不要使用 git。 @CommuSoft 如果我将更改从 master 拉到我的分支,那么我不需要合并对吗? 您可以进行 merge 或 rebase... 嗯,你的意思是from你的主人还是to你的主人有点不清楚。你想更新master,还是你的分支... 【参考方案1】:您可能想要使用 rebase,以便您可以将主更改合并到您正在工作的分支中
git fetch origin # Updates origin/master
git rebase origin/master # Rebases current branch onto origin/master
另请查看this 问题
更新:最近的 Git 版本提供了一种更简单的方法来执行上述两个命令的等效操作。
git pull --rebase origin master
# where --rebase[=(false|true|merges|preserve|interactive)]
【讨论】:
除非您提供更好的解释,否则这应该是一条评论。 我赞同这个答案,但你应该在使用它之前阅读 rebase - 有后果。【参考方案2】:从已签出 branch1 的工作文件夹中:
git fetch
git merge origin/master
fetch 将远程仓库中的更改下载到您的计算机,但不会将它们应用到您的工作文件夹。 合并会将您刚刚下载的内容应用到您的工作文件夹(无论您当前所在的分支)
【讨论】:
以上是关于有没有办法从我的分支中提取主更改?的主要内容,如果未能解决你的问题,请参考以下文章