我确实在 github 上 fork 了一个 bower 包,因为我需要一些增强,而维护者不会对 pull 请求使用react。
我更改了一些 bower.json(更改名称、版本并将我自己添加到作者中),应用我的增强功能,添加一个新标签,然后推送(我需要一个新标签,因为 bower 存储库确实发布了新的仅在新标签上打包版本)。
然后我用修改后的名称在 bower repo 上注册了 fork 包。
我不使用分支,以避免复杂化:master 分支上的所有内容(我是唯一的开发人员,目前是该包的唯一用户...)。
到目前为止,阳光下一切都是美好的。
现在,我的问题(肯定是因为我对 git 的了解有限):当我必须对 fork 的 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 的“版本”字段
.
git add -A
git commit -m "My changes"
git tag -a v1.2.3 -m "My last tag"
git push --tags origin master
您始终可以使用“gitk”等可视化工具来查看标签实际指向的位置。
关于git:创建标签并推送到远程:为什么标签在远程主机后面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38186079/