git修改标签的代码,并在此标签后保留提交信息

时间:2013-06-19 04:32:10

标签: git

我的git repo是这样的:

cm1 .. cm10,标签A,cm11,cm12。 .... cm 20

代码在标记A处运行,

cm11 ... cm20是新的未来。

但是现在,标签A在这里有一个错误,我需要修复它,

如何修改代码,并在标记A中合并

我知道,我可以reset --soft A,然后修改一些文件,添加它们,然后提交。

但在此之后,cm11 ... cm20的更改仍在此处,但我丢失了此提交信息。

那么,我如何修改标签,并在此标签后保留提交信息?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您希望在tag A 插入提交以修复某些错误,但让提交历史保持线性。

假设您在cm20

git branch feature
git checkout tagA

...fix something and commit...

git commit -m 'bug fix'
git rebase HEAD feature

然后你有一个错误修复的分支feature,它有一个干净的提交日志历史记录。

我建议将feature保留为开发分支,因为您注意到 cm11..cm20是新期货,但在这种情况下,它实际上是一个临时分支,可以在以后删除。