v1.2.0
e3f4g5h修复登录失败清空密码
9d2e8a4 · main 已前移
封印不走
新提交到来,分支指针跟着走。v1.2.0 仍指向打标时的那枚提交。
版本协作 · 版本协作
tag 是钉在某一枚提交上的固定命名锚点;annotated tag 适合发布,已发布后不要改写。
下面就是仓库里的 annotated tag。默认 v1.2.0 钉在 e3f4g5h;想挪到新提交会被拒绝;新内容要另打 v1.2.1。
第 0 步先打开:终端跑 git tag -l,或在仓库 Releases 里看版本名。下面就是钉在提交上的那枚标签。
v1.2.0
e3f4g5h修复登录失败清空密码
9d2e8a4 · main 已前移
封印不走
新提交到来,分支指针跟着走。v1.2.0 仍指向打标时的那枚提交。
原因:annotated tag 是固定指针。下一步:看有人想把它挪到新提交会怎样失败。
封印刚走过的路,这里只给命名。
git push 走,要 git push --tags。发布需要一个不会跑掉的名字时再打。
git tag -a v1.2.0 -m "Release v1.2.0" → 核对指向的 commit → git push --tags。只改变「版本名是否还指向同一份内容」,回滚完全不同。
商店和 changelog 仍指向同一份构建。回滚按版本名就能找到原来的提交。
有人已经按旧 tag 发布。同一名字指向两份内容,回滚和排查都会对错包。
v1.2.0 已经推到远端,后来又修了一个空态。哪种做法对?
术语的技术定义和行为以这些一手或权威资料为准。
和本知识点经常一起出现的概念。