【问题标题】:How to commit changes to Git as another user?如何以其他用户身份提交对 Git 的更改?
【发布时间】:2016-11-18 16:46:08
【问题描述】:
我需要设置新的用户帐户来访问我们在 BitBucket 上的两个存储库。新用户对一个 repo 有读取权限,对第二个 repo 有写入权限。
我知道如何通过 BitBucket 管理网页设置权限,但我想在真实环境中进行测试 - 克隆 repo 并尝试提交更改。
我的问题 - 如何以新用户(我除外)的身份克隆(OSX 机器)BitBucket 存储库,并尝试以该用户身份将更改提交回存储库以测试用户权限设置?
【问题讨论】:
标签:
git
macos
permissions
bitbucket
【解决方案1】:
您的本地存储库中的 .git/config 文件中有一个部分,如下所示:
[remote "origin"]
url = REMOTEURL
远程 url 很可能包含您的用户名。您可以在此处临时更改用户名。这是用来推的。
如果您想更改提交用户,一个非常简单的解决方案是:
git config user.name NEWUSERNAME
在本地克隆中发出此命令。
【解决方案2】:
从命令行测试很容易。
使用 http 协议克隆存储库并输入您的第一个用户登录名+密码。进行更改并在您询问时简单地传递第二个用户凭据。
如果您使用 ssh-key 身份验证,事情会稍微复杂一些。
SSH 密钥位于/.ssh/ 目录并命名为id_rsa 或id_dsa(密码算法问题)。可能我会生成两个新的 ssh 密钥,将一个与用户 a 关联,第二个与 BitBucket 上的用户 b 关联,并将正确的密钥放入 /.ssh 目录。