我的 git 仓库是这样的:
cm1.. cm10,标签 A,cm11,cm12。....厘米 20
在标签 A 处运行的代码,
cm11...cm20 是新的期货。
但是现在,这里的标签 A 有一个错误,我需要修复它,
如何修改代码,并在标签 A 中合并,
我知道,我可以reset --soft A
,然后修改一些文件,添加它们,然后提交。
但在此之后,cm11...cm20 更改仍然存在,但我丢失了此提交信息。
那么,我怎样才能修改一个标签,并在这个标签之后保留提交信息呢?
我的 git 仓库是这样的:
cm1.. cm10,标签 A,cm11,cm12。....厘米 20
在标签 A 处运行的代码,
cm11...cm20 是新的期货。
但是现在,这里的标签 A 有一个错误,我需要修复它,
如何修改代码,并在标签 A 中合并,
我知道,我可以reset --soft A
,然后修改一些文件,添加它们,然后提交。
但在此之后,cm11...cm20 更改仍然存在,但我丢失了此提交信息。
那么,我怎样才能修改一个标签,并在这个标签之后保留提交信息呢?
如果我理解正确,您想插入一个提交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 是新的 futures,但在这种情况下,它实际上是一个临时分支,以后可以删除。