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

Mar*_*coS 3 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"),它不是最新的..这样,这些变化对于凉亭用户来说是不可用的(只有我自己,目前...... :-).

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

Iga*_* S. 7

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

您应该首先提交您的工作,然后在标记它时,它将应用于最新的提交.

完整的流程是:

  • 应用您的更改,然后:
  • 更新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
Run Code Online (Sandbox Code Playgroud)

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