在我们公司,我们有一个应用程序,它每天会生成大量的文本文件(每天大约 30000 个文件,总计约 100 兆字节)。大多数文件每天都是相同的,但有些文件每天都有差异。关于这些差异的信息应该被注释和存储。关于注释作者的信息也需要存储(这些文件通常由大约 5-10 个人处理)
这个问题的明显解决方案是使用 git 存储库。我认为可以按如下方式组织工作:
- 在网络文件夹上创建非裸存储库,并授予员工访问此文件夹的权限。为员工安装 git 客户端。
- 将所有文件添加到存储库并创建初始化提交
- 每天覆盖存储库中的文件。
- 员工每天都会进入网络文件夹并提交对文件的更改。
这种方法通常有效。但由于存储库规模巨大,并且与存储库的通信是通过网络进行的,因此速度非常慢。例如,git status
可能需要 5-10 分钟才能执行。我想到的另一种选择是让用户通过 ssh\rdp 访问存储库计算机,这应该可以加快速度。但这个选项对用户来说太复杂了。您将如何解决这个问题?如果您有任何建议,我将不胜感激,谢谢。
git 在网络共享上的性能较差,因为网络共享不是快速的本地存储。与许多数据库类似。
git 会永久保留父提交引用,因此存储库的大小会不断增加。虽然有方法可以只下载部分提交,或重写历史记录,但它们超出了 git 的基本用法。
集中此工作流程。
考虑查找并使用版本控制系统的 Web 界面。选择具有个人用户对提交进行评论功能的界面。自动执行提交下一组相关文件的过程。现在在浏览器中,单击更改集并发表评论。