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

时间:2016-07-04 13:34:48

标签: git github bower

我在github上做了一个bower包,因为我需要一些增强功能,而且mantainers不会对pull请求做出反应。

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

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

到目前为止,在阳光下一切都很好。

现在,我的问题(当然由于我对git的了解有限):当我必须对分叉的凉亭包进行更改时,我这样做:

  • 将我的更改应用于来源
  • 使用标记git tag -a v1.2.3 -m "my latest enhancement"
  • 标记更改
  • 提交并推送:git add -A && git commit -m "committing my latest enhancement" && git push --tags origin master

然后,如果我在github中检查我的存储库,我会看到master分支更新(使用最新版本),但如果我切换到最新标记(例如“1.2.3”),则不< / strong>最新...这样,这些更改不适用于凉亭用户(仅限我自己,目前......: - )。

我的工作流程有何缺陷? 我对标签的理解有多么缺陷?

1 个答案:

答案 0 :(得分:6)

似乎您先标记并稍后提交。

您应首先提交您的作品,然后在对其进行标记时,它将应用于最新的提交。

完整的流程是:

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

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

您可以随时使用“gitk”等可视工具查看代码实际指向的位置。