gpt4 book ai didi

git - 管理 GIT 权限 - 多个存储库

转载 作者:太空狗 更新时间:2023-10-29 13:24:39 25 4
gpt4 key购买 nike

我们有几个开发团队,每个团队开发多个项目(通常超过 10 个)。我们目前正在使用 CVS 并评估是否迁移到 SVN 或 GIT。我倾向于 GIT,但是我不确定我们如何有效地管理权限。例如。

我们有开发团队 A、开发团队 B、开发团队 C。每个团队有 12 名开发人员。每个开发团队至少有 10 个独立的项目。 A 队可以看到所有人的代码,B 队和 C 队只能看到他们自己的代码。此外,一些开发人员仅具有只读访问权限,而其他开发人员具有完全访问权限。

所以在 CVS 中,我们有三个存储库,每个团队一个。所以它就像:

/cvsroot/TeamARepos/project1
/cvsroot/TeamARepos/project2

/cvsroot/TeamBRepos/project1
/cvsroot/TeamBRepos/project2

/cvsroot/TeamCRepos/project1
/cvsroot/TeamCRepos/project2

等等。我可以管理整个存储库,并说 John Doe 对 A 具有只读访问权限,但对 B 具有写访问权限,而对 C 没有访问权限——因此我不必授予他对每个项目的显式访问权限(而且它们添加得非常频繁,所以我不必每次都将每个人都添加到每个新项目中)。

我对 GIT 的理解是每个项目有一个存储库。因此,没有一种真正合乎逻辑的方式来表示“A 团队的所有代码都在这里,这些用户可以写入”和“B 团队的所有代码都在这里,这些用户可以阅读”并像这样将它们分开。

我什至不确定我是否知道如何正确地提出问题 - 但我认为转向 GIT 是一场管理噩梦。

我们还使用 Ant 脚本从 CVS 中 check out 代码、构建并部署到服务器。我刚刚开始寻找,但我希望 Ant 在这个意义上也能与 GIT 配合得很好。

最佳答案

我建议使用 git 而不是 svn,因为它的速度、分布式版本控制模型,以及整体上理智的做事方式。我们在工作中使用了 SVN 几年,与 git 相比,它真的很痛苦。我看到 SVN 的唯一优势是它与 Windows 的集成,例如乌龟SVN。但这仅限于您喜欢受 GUI 的约束,并且不愿意学习更强大的命令行。

有了 git,你显然需要 gitolite来处理访问控制。使用此模型,您可以为每个项目设置不同的存储库。 Gitolite 配置文件允许您将开发人员分组到团队中,然后您可以为每个存储库、分支甚至工作树路径设置非常细粒度的访问控制。您可以根据团队或个人指定最适合您的方式。

如果你需要代码审查,你还应该检查gerrit是适合您的工具。您不需要两者,使用 gitolite 或 gerrit。

有时人们发现 git 很难学。为此,我建议向开发人员推荐一本好书,例如 this .它也有打印版。

关于git - 管理 GIT 权限 - 多个存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com