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 包进行更改时,我会:
- 将我的更改应用于源
- 用标签标记更改:
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”),它不是最新的...这样,更改不适用于 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' 等可视化工具来查看标签实际指向的位置。
我确实在 github 上 fork 了一个 bower 包,因为我需要一些增强,而维护者不会对拉取请求做出反应。
我做了一些改动 bower.json(更改名称、版本并将我自己添加到作者中),应用了我的增强功能,添加了一个新标签,然后推送(我需要一个新标签,因为 bower存储库确实仅在新标签上发布新包版本。
然后我用修改后的名称在 bower repo 上注册了分叉包。
我不使用分支,以避免复杂化:master 分支上的所有内容(我是唯一的开发人员,目前是该包的唯一用户...)。
至此,阳光下一切都是美好的。
现在,我的问题(肯定是由于我对 git 的了解有限):当我必须对分叉的 bower 包进行更改时,我会:
- 将我的更改应用于源
- 用标签标记更改:
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”),它不是最新的...这样,更改不适用于 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' 等可视化工具来查看标签实际指向的位置。