我正在使用同事的机器,而他们离开了几个月。我们将他们的Windows用户帐户User_A
和他们的GIT用户名Git_A
称为。我在计算机User_B
上创建了另一个Windows帐户,并将GIT设置为GIT_B
。 Git已经安装好了。但是我对pull
/ push
等的权限存在问题。
我以为我会避免生成另一个密钥,所以我将我的.ssh
文件夹从我的旧机器上复制到我的同事身上。我把它放在通常的C:\Users\User_B\
中。在我的旧机器上,我将所有存储库存储在C:\Application
中。我将这个文件夹复制到同事机器上的同一位置,以便克隆各种回购。
当我尝试pull
时,我收到了拒绝权限的消息。没什么大不了的,我只会生成另一把钥匙。这个新密钥也失败了同样的错误:
FATAL: R any *branch* *GIT_A* DENIED by fallthru
(or you mis-spelled the reponame)
fatal: Could not read from the remote repository.
回购确实存在,我的公钥已被添加。我以User_B
身份登录,但错误消息GIT_A
,而非GIT_B
已被拒绝。我尝试在user.name
中设置全局C:\Program Files (x86)\GIT\.gitconfig
等,并且仍在C:\Users\User_B\.gitconfig
中设置这些设置以查看是否可以解决问题。但它没有。
我还注意到,如果我在GIT Bash中输入cd ~
,pwd
为C:\Users\User_A\
,尽管以User_B
身份登录。
我该如何解决这些问题?我的直觉是,权限问题是由GIT使用User_A
和GIT_A
引起的。作为旁注,我确实重新安装了GIT,但问题仍然存在。我也是GIT的新手。
答案 0 :(得分:0)
原来HOME
环境变量仍然设置为C:\Users\User_A
。确保这指向C:\Users\User_B
解决了我的问题。