4

我主要熟悉SVN。我使用 Git 已经有一段时间了,但还没有做过非常高级的事情。对于我的项目,我一直在创建标记单个版本的标签。例如,我有一个v1.2.3针对我的项目的特定版本调用的标签。我想对该标签提交一个错误修复,然后将其合并到主标签中。我该怎么做呢?我查找了有关从标签创建分支的信息,但我不确定这是否是正确的做法。我可以直接提交到标签,然后将其合并到主标签中吗?

4

1 回答 1

7

在我看来,提交一个标签是完全错误的,尽管 svn 设计允许它。

比如说,你有一个版本 v1.2.3 并且你提交了那个标签——你得到了什么?还是 v1.2.3 或 1.2.3a 或类似的版本?你如何恢复后来的 1.2.3 版本?

不过,在 git 中,您可以重新创建标签。但是我不确定您是否应该针对“我不小心标记了错误的版本”或您有“移动”标签(例如“最后一个稳定版本”)之外的任何其他情况这样做。

在 git 你可以这样做:

git branch v1.2.3-bugfix v1.2.3   [v1.2.3-bugfix is your branch, v1.2.3 the tag]
git checkout v1.2.3-bugfix
-- do your changes --
git add ...
git commit
git tag -f v1.2.3

也就是说,首先你从你的标签开始创建一个分支。然后你检查那个分支(通过 git checkout -b 有一个快捷方式)。您提交更改并重新创建标签。

之后,您可以删除您的错误修复分支。

于 2013-02-15T18:01:58.320 回答