gpt4 book ai didi

git - .gitmodules 随着多个 git 用户的变化,导致持续的头痛

转载 作者:太空狗 更新时间:2023-10-29 13:44:20 26 4
gpt4 key购买 nike

首先请允许我说我是 Git n00b 并且完全不熟悉版本控制。到目前为止,我们已经很好地在带有 Visual Studio 的 Windows 环境中使用 Git,而且一切似乎都很顺利。然而,令人讨厌的是 .gitmodules 我们目前手头上的“战斗”。

如果 UserA 创建了一个新的子模块,.gitmodules 中“origin”的路径将类似于:

ssh://usera@myserver/Repositories/NewModule

当我,用户 B,从服务器 pull 更改时,我下载了一个包含该条目的 .gitmodules 副本。当我尝试初始化新的子模块时,我不可避免地无法从我的服务器下载,因为我是 userb 并且只持有 userb 的 SSH key 。我最终不得不更改 .gitmodules 以反射(reflect)我的用户名:

ssh://userb@myserver/Repositories/NewModule

我最终会 push 这一改变。

因此,我们最终遇到了一个递归问题,我们都将用户名从 UserA 更改为 UserB,反之亦然。当我们中的任何一个 pull/推到服务器时。

有什么办法可以解决这个问题吗?也许我们俩的共享用户帐户仅用于子模块?那可以吗?如何?还有其他想法吗?或者之前解决过这个问题的想法?

最佳答案

一个选项是安装 Gitosis在我的服务器上。每个人的克隆 URL 都将是相同的,格式为 ssh://git@myserver:/path/to/repo.git。 Gitosis 允许您注册开发人员的 SSH key ,并允许您指定身份验证和授权规则。

你也可以通过在我的服务器上破解 ~git/.ssh/authorized_keys 并通过修改这个 example update hook 来授权.

关于git - .gitmodules 随着多个 git 用户的变化,导致持续的头痛,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3242309/

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