将外部git repo中的更改合并到我的本地分支中

时间:2013-10-07 20:54:07

标签: git version-control merge

我问了一个类似的问题here recently,但这是一个更具体的问题。

我在本地克隆了一个开源项目(OrchardCMS)&在origin / master分支中的标签“1.6”上创建了一个本地分支( accom.dev ),以便将自己的调整添加到代码库中。

他们已经对代码库进行了很多更改,从1.6升级到1.7升级到1.7.1并且提交了更多提交(当前版本是1.7.1)。我想要做的是从1.7.1标记中获取所有内容(包括返回1.6的所有内容)并将其合并到我的本地分支中。从那里我将解决冲突,修复我的自定义,然后部署到我的网站。

请注意,这不是一个挑选,​​因为我希望从1.6到1.7.1的所有内容合并到我的本地分支中,但我不想要在1.7.1版本发布之后提交的内容。 IOW,我希望我的自定义基于官方1.7.1版本,而不是基于更新的东西

我很确定我做了什么给了我想要的东西,但我不确定是否有更好的方法:

  1. 切换回 origin / master
  2. 从创建1.7.1标记的位置创建了一个新的本地分支 1.7.1-release ... 这被视为临时分支因为我无法想象如何从特定点进行合并
  3. 切换回 accom.dev 分支
  4. 1.7.1-release 分支合并到我的 accom.dev 分支
  5. 解决冲突&在 accom.dev
  6. 中提交了更改
  7. 删除 1.7.1-release 分支
  8. 此时我就是我想去的地方,但我想知道是否有更简单的方法......

1 个答案:

答案 0 :(得分:1)

更简单的方法如下(假设origin是您的遥控器的名称,并且您已经检查了您的accom.dev分支):

$ git fetch --tags origin
From ...
* [new tag]    some-tag -> some-tag
* [new tag]     ...

$ git merge some-tag