【发布时间】:2012-09-18 03:06:11
【问题描述】:
(这看起来应该很容易做到,但到目前为止我的搜索结果都是空的。)
我有一个来自上游源代码的主体,其中在各个分支上标记了各种版本。
我正在开发基于标签“v1.0”的“开发”分支。从那以后已经出现了许多版本,但是虽然“v2.0”很有趣,但我想将我的开发分支重新设置为“v1.5”并继续在那里工作(假设我不打算将其反馈给上游)。也许稍后我会将它再次变基为“v2.0”。
(为此假设“v1.x”是同一分支上的所有标签。为了额外的功劳,我们可以假设“v2.0”是另一个分支上的标签。)
我能够轻松地基于“v1.0”标签创建初始“develop”分支,但 rebase 似乎只适用于分支。不能一个 rebase 也使用标签吗?如果不是,那么实现这一点的正确方法是什么(以便与重新定位到特定标签具有完全相同的效果)?
【问题讨论】:
-
您可以将 变基为 一个标签。如果您不能这样做,请包含您使用的命令。
-
嗯!我是用 TortoiseGit 做这个的(它完全没有提供使用标签变基的选项 - 或者是吗?)然后我在 git bash 中尝试了它并且它没有效果......但我显然有一个语法错误(我尝试了“git rebase develop v1.5”,这是不正确的......我只是使用“git rebase v1.5”并检查了开发,它似乎已经工作了)。编辑:实际上,我这样做是有原因的,这是我在其他地方找到的一个不太好的例子。
-
我认为 checkout 和 rebase 是执行此操作的标准方法。
-
是的,可以单独进行,也可以按照 Karl 下面的描述,一步完成。我很惊讶 TortoiseGit 没有提供这种能力......这让我怀疑它是否可能。
标签: git rebase git-rebase git-tag