我的git repo是这样的:
cm1 .. cm10,标签A,cm11,cm12。 .... cm 20
代码在标记A处运行,
cm11 ... cm20是新的未来。
但是现在,标签A在这里有一个错误,我需要修复它,
如何修改代码,并在标记A中合并
我知道,我可以reset --soft A
,然后修改一些文件,添加它们,然后提交。
但在此之后,cm11 ... cm20的更改仍在此处,但我丢失了此提交信息。
那么,我如何修改标签,并在此标签后保留提交信息?
答案 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是新期货,但在这种情况下,它实际上是一个临时分支,可以在以后删除。