0

我最近在这里问了一个类似的问题,但这是一个更具体的问题。

我已经在本地克隆了一个开源项目(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. 切换回原点/主控
  2. 从创建1.7.1 标记的位置创建了一个新的本地分支1.7.1-release ...这被视为临时分支,因为我不知道如何从特定点进行合并
  3. 切换回我的accom.dev分支
  4. 1.7.1-release分支合并到我的accom.dev分支中
  5. 解决了冲突并提交了accom.dev中的更改
  6. 删除了1.7.1-release分支

在这一点上,我是我想去的地方,但我想知道是否有更简单的方法......

4

1 回答 1

1

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

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

$ git merge some-tag
于 2013-10-07T23:20:03.943 回答