我有一个项目,它有一个清单文件(其中包括一个版本号),但没有一个构建过程。当我使用 Subversion 时,我会通过将清单中的版本号从“SVN”更改为“1.3”或者你有什么,从工作副本中标记并恢复清单来处理这个问题。然后版本号存在于标签中,但在主干中仍然是“SVN”。
在 Git 中是否有等价物?似乎应该可以创建一个分支,在其上提交版本号,标记并删除分支(留下一个无头标记),但这似乎相当复杂。
git commit -m "Change manifest version to vX.Y"
git tag -a -m "MyProject vX.Y" vX.Y
git reset --hard HEAD~1
该git reset
命令允许您将分支指针回绕到现有提交。
您可以标记任意提交或对象。您无需签出提交即可执行此操作。例如:
git checkout master # You're on HEAD
git tag v1.0 HEAD~2 # Apply tag to 2nd commit behind HEAD
请参阅 gitrevisions(7) 了解可以指定提交对象的所有方式。