在我们的办公室,我们有一个私人Bitbucket服务器。当然,我们每个开发人员都有账户。前几天,我们将第一个子模块添加到主存储库中。但这个过程并非毫无根据。
特别有一点我无法解释的是,在克隆子模块时,我告诉git如何使用用户的帐户。假设我们的内部Bitbucket服务器名为bitbucket:7990
,我们克隆http
。添加子模块的网址的适当方式是http://git@bitbucket:7990/scm/project/repo.git
吗?
我想了很多,因为它适用于我们的大多数机器。但是我们的开发人员之一'机器,git尝试使用" git"作为帐户名称 - 显然是失败的,因为该帐户在我们的系统中不存在。为什么没有使用开发者自己的帐户进行克隆?就像它在其他开发者那样做了#39;机?
我无法发现他们.git/config
的差异。最后,我最终通过手动将其帐户名称插入其config
文件中的子模块网址来修复它。但我担心下次我们添加另一个子模块时可能会再出现这个问题。
我处理子模块错了吗?或者是否有一些我不知道的技巧?
为了记录,我尝试将http
- 克隆替换为ssh
- 克隆,但它仍然尝试使用" git"帐户。我自己的config
- 文件使用git
- 帐户。我也尝试删除协议,但随后URL的:
部分改变了意义,我不知道如何指定自定义SSH端口(因为它注意到它无法登录端口22)。
此外,我们在Windows上,我们使用SmartGIT作为主GUI。但直接使用git命令,同样的问题仍然存在。
答案 0 :(得分:0)
原来解决方案相当简单;只需将所有用户名一起删除,网址就会变为http://bitbucket:7990/scm/project/repo.git
。这似乎有效。
我受到this answer的启发,为解决方案提出了另一个问题。