使用其他用户执行git获取

使用其他用户执行git获取,git,atlassian-sourcetree,Git,Atlassian Sourcetree,请提前感谢,如果我在git方面使用了不准确的术语,请原谅。我正在尽力 如何使用与我登录的用户不同的用户执行git获取?我使用的是mac,我尝试过从命令行和使用SourceTree来实现这一点,但失败了。目前,每当我想在正在访问的存储库上执行与git相关的操作时,我都需要经历以下艰难的过程: 仅一次:在我的系统(在我使用的mac上)上创建一个不同的用户,其用户名与存储库(或它所在的服务器)所期望的用户名完全相同 在我的本地系统上登录到所述用户 递归地将本地git克隆目录的目录发送给此用户 执行g

请提前感谢,如果我在git方面使用了不准确的术语,请原谅。我正在尽力

如何使用与我登录的用户不同的用户执行git获取?我使用的是mac,我尝试过从命令行和使用SourceTree来实现这一点,但失败了。目前,每当我想在正在访问的存储库上执行与git相关的操作时,我都需要经历以下艰难的过程:

  • 仅一次:在我的系统(在我使用的mac上)上创建一个不同的用户,其用户名与存储库(或它所在的服务器)所期望的用户名完全相同
  • 在我的本地系统上登录到所述用户
  • 递归地将本地git克隆目录的目录发送给此用户
  • 执行git获取
  • 重新登录到我的普通用户
  • 递归地返回到我的正常用户
对于一些脚本来说,这并不太痛苦,但我正在处理的目录非常大,所以浏览它们需要一段时间,我希望避免麻烦。我已经做了六个月了。我同时使用命令行和SourceTree,但我还没有找到解决这一问题的方法(SourceTree似乎支持对存储库使用不同的用户名,但对我来说不起作用)


编辑:我可能不会修改文件的权限。

我的问题的意外答案是-通过“git config-e”而不是通过SourceTree的UI,在“ssh://”地址/协议前缀和地址本身之间插入“username@”(使用实际用户名)。奇怪。

将您自己和其他用户添加到一个组中,并使回购组可写并归该组所有。然后您可以
sudo-u that user git fetch
谢谢,但不幸的是,我不能这样做-存储库跟踪文件权限,组权限不允许这样做。是什么让你得出结论,存储库跟踪文件权限?啊。您可能不知道有关
umask
?它可能被设置为屏蔽组可写位。为什么这很奇怪?这是这个问题的通用解决方案:这是URL标准()的一部分。我所知道的每个操纵URL的工具都遵循这一点。