从所有团队成员的存储库中的所有分支中删除git标记

时间:2016-03-21 00:41:12

标签: git

我们的团队中有几个存储库,一个中央远程站点和一个EACH团队成员的本地存储库。存储库中还有多个分支。

我尝试按照指令删除本地存储库和远程

上的git标记
git tag -d 12345
git push origin :refs/tags/12345

但是,过了一段时间,这些标签会回溯到远程存储库。我怀疑是因为这些标签仍然存在于其他团队成员中。本地存储库,他们以某种方式被推送到远程存储库。

是否有一种强大的方法可以从所有团队成员的存储库的所有分支中删除git标记?

2 个答案:

答案 0 :(得分:0)

没有

正如您所看到或尝试的那样,“所有团队成员的指示”方法预先有效率约为60%至75%,并且由于单个成员未遵循该指令会导致其他人再次被感染使用标签,它最终有效率约为0%。 : - )

使用集中式存储库工作流来完成此工作的技巧是将规则放在中央服务器上的git挂钩中,拒绝尝试重新创建标记。是否将公共Shaming添加到拒绝中(通过让集中式服务器通过“嘿,开发人员X试图重新创建错误标记!”的行发送消息)由您决定。 : - )

答案 1 :(得分:0)

这是不可能的,但你可以改善你的git工作流程,在我的团队中,我们使用git up来获取所有内容,而不是git pull。该工具将ALL repo与本地同步。

你遇到的另一个问题是一个人强行进入团队推进而不是分支,为该成员团队发送消息与远程同步回购并且没有强制发送推送或当有人创建新标签。

git up implementation - https://github.com/msiemens/PyGitUp