多个用户使用单个 git 克隆文件夹 (windows) 时出现问题?



关于在多个用户之间共享git克隆文件夹有很多问题,但似乎一切都适用于Linux(下面链接了两个)。 我有同样的问题,但对于Windows机器。 我希望其他人已经这样做并有一个推荐的过程。

希望由于每个用户都有自己的登录名,因此每个用户在Windows凭据管理器中都有自己的凭据,以及自己的密钥.ssh文件夹。如果每个用户克隆自己的存储库版本以执行工作,这就足够了。

但是,如果用户 A 克隆到目录并注销,然后用户 B 登录并尝试执行拉取(从远程获取/合并新提交),进行一些更改并将新更改推送到远程,会发生什么? 我希望这能成功,为每个用户提供单独的提交信息(作者信息)。

在这种情况下--shared有帮助吗? 有没有办法让 git 的全局配置(名称/电子邮件,每次登录都会有所不同)与用户 A 的信息(来自初始 git 克隆,在 .git/config 中)? 这可能吗?

[编辑]
添加有关用例的详细信息。 这是评论中要求的。

我有一个构建过程,我已经用脚本自动化了相当多。 它需要正确配置的计算机(多个编译器、补丁等)和几个第三方组件。 构建涉及克隆 ~50 个不同的存储库,生成 makefile,make,make install(在存储库上按特定顺序),然后运行额外的打包/构建步骤。 这需要数小时,乘以多个构建配置即可完成干净构建。 为了加快该过程,脚本将生成启发式方法,用于识别是否需要运行链中的步骤(即,make 可以判断是否需要重新运行,但这对make install或后续步骤没有帮助)。 最终结果是一个安装程序。 对于新版本,我们相隔 ~6 个月进行完全重建(我们可能会更新配置(编译器等)),并且有涉及更新和/或调整存储库子集(推送和拉取)的次要版本。 脚本可能也需要修改,它们位于自己的 git 存储库中。

虽然脚本使我可以在不占用太多带宽的情况下完成任务,但我想让团队中的其他一些人运行这些步骤。 这就是两难境地。 "简单"的解决方案是拥有一个共享帐户,但这实际上使 git 部分变得更加棘手(ssh 密钥、github 令牌),并且还有许多其他缺点。 保留此环境的多个实例(每个开发人员一个实例)将是"最好的",但会产生同步计算机环境的新问题。 这也意味着一个开发人员不能通过为他们启动长时间运行的进程来"帮助"其他开发人员(它们需要由每个不同的帐户/机器运行)。 允许多个开发人员使用不同的帐户,但在同一台计算机上和同一文件夹结构中工作似乎是最好的折衷方案。

实际上,真正的问题是构建环境。 虽然有一些方法可以解决这个问题(chef、工件存储库等),但在这种情况下,如果可能的话,手动设置构建环境和共享 git 存储库("特殊"使用 git)似乎是合理的。 因此问题来了。
[/编辑]

[1] Git - 多个用户使用相同的工作目录:.git 元文件中的权限问题

[2] https://serverfault.com/questions/26954/how-do-i-share-a-git-repository-with-multiple-users-on-a-machine

你在这里所做的与分布式版本控制系统的观点背道而驰。 您和您的团队正在寻找的软件来帮助管理您的存储库,并允许您和您的团队轻松克隆和发布对它的更改。

根据您要查找的内容,您可以利用:

  • Gitolite 是免费的,可以使用权限更直接地配置。
  • GitHub 始终作为一种选项存在;您可以购买一个私有存储库工作区,并让所有开发人员在那里发布。

您的用例描述了构建系统(如 Jenkins)的需求,但这与您的主要问题的主要内容无关。

最新更新