git: 创建标签并推送到远程:为什么标签在远程主机后面?

git: create tag and push to remote: why tag is behind master on remote?

我确实在 github 上 fork 了一个 bower 包,因为我需要一些增强,而维护者不会对拉取请求做出反应。

我做了一些改动 bower.json(更改名称、版本并将我自己添加到作者中),应用了我的增强功能,添加了一个新标签,然后推送(我需要一个新标签,因为 bower存储库确实仅在新标签上发布新包版本。
然后我用修改后的名称在 bower repo 上注册了分叉包。

我不使用分支,以避免复杂化:master 分支上的所有内容(我是唯一的开发人员,目前是该包的唯一用户...)。

至此,阳光下一切都是美好的。

现在,我的问题(肯定是由于我对 git 的了解有限):当我必须对分叉的 bower 包进行更改时,我会:

然后,如果我在 github 中检查我的存储库,我会看到 master 分支已更新(具有最新的增强功能),但是如果我切换到最新的标签(例如,“1.2.3”),它不是最新的...这样,更改不适用于 Bower 用户(目前只有我自己...:-)。

我的工作流程有什么缺陷?
我对标签的理解有什么问题?

看来你是先标记后提交的。

你应该先提交你的工作,然后当你标记它时,它将应用到最新的提交。

完整流程为:

  • 应用您的更改,然后:
  • 更新bower.json'version'字段

.

git add -A
git commit -m "My changes"
git tag -a v1.2.3 -m "My last tag"
git push --tags origin master

您始终可以使用 'gitk' 等可视化工具来查看标签实际指向的位置。