我主要熟悉SVN。我一直在使用Git,但还没有做过非常先进的事情。对于我的项目,我一直在创建标记单个版本的标签。例如,我有一个名为v1.2.3
的标签,用于我项目的特定版本。我想为该标记提交一个错误修复,然后将其合并到master中。我该怎么做呢?我查找了有关从标记创建分支的信息,但我不确定这是否是正确的方法。我可以直接提交标签然后将其合并到主文件中吗?
答案 0 :(得分: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有快捷方式)。您提交更改并重新创建标记。
之后,你可以删除你的bugfix-branch。