【问题标题】:How to stop users from working on the same file at the same time in Git?如何阻止用户在 Git 中同时处理同一个文件?
【发布时间】:2021-12-24 17:34:42
【问题描述】:

我们的团队将开始使用 Git 来管理二进制 PowerBi 报告文件。由于文件是二进制文件,两个文件不能轻易合并。

这是否意味着如果两个用户同时处理同一个报告,其中一个用户将首先将他们更新的报告文件推送到远程仓库,而第二个用户将不得不放弃他们的更改并重新开始?

我们之前使用过 Microsoft Team Foundation,其中有一个“禁用共享签出”选项 - 这意味着一次只有一个人可以签出和编辑文件。

Git 有什么类似的可能吗?对我来说,这似乎与 Git 的分布式特性相矛盾。

你知道我们在使用 Git 时如何最好地处理这个问题吗?

【问题讨论】:

标签: git


【解决方案1】:

不幸的是,不透明的二进制文件不适合协作编辑。

我在 3D CAD 文件的上下文中看到了这一点。该空间中的大多数修订控制包一次只允许一个用户签出文件进行修改

Git(和其他分布式 RCS)不是这样工作的。 这意味着当使用 git 时,基本上是第一个推送获胜,其余的则必须从上游拉取并重做他们的工作。

似乎在这种情况下,集中的修订控制系统更合适。

【讨论】:

    【解决方案2】:

    您可以利用 Git 分支方法来不完全冻结远程分支签入。例如,您可以强制贡献者从他们的分叉存储库创建 PR。

    然后一些权威人士可以选择哪个二进制版本适合合并,或者你有一个很好的 GitHub 操作,使用 GitHub 机器人帐户对二进制文件运行测试并将文件质量回信给 PR。

    旁注——您可以考虑使用 Git LFS,而不是纯 Git 存储库,因为这样的二进制存储存储库可以轻松访问大小无法控制的存储库。增长是递增的,克隆存储库所需的时间会越来越慢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 2011-05-01
      • 2020-06-30
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 2022-10-30
      相关资源
      最近更新 更多