git - 您如何构建 Git 存储库工作流程?

标签 git dvcs

我们看过并观看了有关大型分布式团队正在使用 Git 的视频,但是我们这些非分布式团队以及与团队其他成员一起在办公室工作的人呢?我们应该如何构建我们的存储库和工作流程?

想想一直使用 Subversion 或 CVS 作为单一授权点的传统办公室。当然,这些团队可以各自维护自己的 Git 存储库,并根据需要在彼此之间推送/pull ,这在许多情况下很快就会变成一场噩梦。或者,他们可以各自维护自己的存储库并与称为团队“主”的单个存储库同步。或者,可能存在工作流与 DVCS 打开的可能性的任意组合。

您的团队是如何工作的?您发现什么是有用的工作流程?

最佳答案

我喜欢 Yahoo!用户界面 (YUI) 团队似乎正在工作。我不在雅虎,也不在那个团队,但他们的 git 提交日志揭示了很多关于他们的过程。

YUI 团队维护着一个中央存储库,团队中的每个人都可以在其中提交访问。在提交到这个存储库之后(可能是在每次推送之后,但我不这么认为),构建系统会触发,重建 YUI 并将新标记的提交推送到 github,社区可以在其中 fork 代码并对其进行处理.

我赞成代表项目“正式”状态的中央存储库。当然,如果我想与同事共享代码,我可以安排他们从我这里 pull 一个分支,然后我们就可以这样协作。

“主”存储库还提供其他优势,例如易于持续集成,因为可以在“主”存储库上配置推/pull 触发器以启动单元测试和构建系统。它还确保每个人都知道存储库的最新“已知良好”版本在哪里,以便如果需要构建、发布或测试项目,可以合理地保证“主”存储库已准备就绪.

Git 几乎支持您能想到的任何工作流程,但即使在小型团队中,您也不希望出现“官方”存储库在哪里的问题。可能导致的维护噩梦,尤其是当您接近发布时,会令人不快。

关于git - 您如何构建 Git 存储库工作流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466141/

相关文章:

git - 如何将 git commit date 插入到正在提交的文件中?

python - 如何通过 VCS 分发 MongoDB 测试数据?

git - 在 git 中添加替代项后如何回收磁盘空间?

ubuntu - 我将如何调查和解决 Mercurial 授权问题?

mercurial - 有没有 child 的命令来补充 parent 的命令?

git - Microsoft 的分布式源代码控制计划是什么?

git - 当两者都在防火墙/NATs/...之后时,如何在 git 存储库之间推送/pull ?

git - 有没有一种简单的方法可以压缩 git 中的许多提交?

git - 将大量提交复制到新分支

git - 在 CentOS 5.5 上安装 Gitolite 的问题