【发布时间】:2016-01-10 12:26:02
【问题描述】:
我维护了一个 git 树,其中包含许多分支,一些是私有的,一些是推送到 bitbucket 的公共存储库的。我最近无意中发现,如果我在私有分支中标记提交,然后使用
上传标记git push --tags
导致私有分支中的所有提交和私有标签作为悬挂标签上传。这暴露了很多从未打算公开的私有代码,导致我删除了整个存储库并重新上传它而不使用违规标签以尝试解决问题。
我创建了一个示例 git 树,其中只有 2 个公共提交和一个在单独的私有分支中的私有提交,显示了推送标签如何在此处推送私有标签和相关的私有提交: https://bitbucket.org/ckolivas/testtag/commits/all PU1 和 PU2 是在主分支上制作的标签,PR1 是在私有分支上制作的标签。
想要推送标签会使其推送所有标签,即使它们不是主标签的一部分,这是正确的行为吗?这对我来说似乎违反直觉。
【问题讨论】:
-
您需要保留两个不同的存储库,一个公共的和私有的。永远不要从私人仓库推送到公共仓库或 bitbucket 仓库(除非您非常小心。我建议您做一些事情 like this(除了没有电子邮件),这样您就可以确保没有私人仓库被转移)。