我有CentOs。我制作了git并成为了所有者的.git文件夹组" gitdevelopers"。在小组" gitdevelopers"添加User1和User2。现在我从user1和user2进行git-push和git-pull更改。但是,计算机中的用户无法处理错误:
git.exe pull -v --no-rebase --progress" origin" 错误:无法打开.git / FETCH_HEAD:权限被拒绝
为什么?
p.s.:我可以通过x-shell使用login-password user1和user2连接到服务器。
几个小时后:: 我认为问题在于没有正确的登录密码,git记得。
p.p.s:git save login-password pair?我使用ssh-protocol。
p.p.p.s.:OK。我有git的服务器CentOs。在服务器上是两个用户。我使用TortoiseGit for windows。我这样配置:在每个连接系统中询问连接到服务器的登录名和密码。现在我想知道:1。保存这个登录密码的地方2.我可以永久保存这对吗?
答案 0 :(得分:7)
这对我有用
sudo chown -R $(whoami) .git/
答案 1 :(得分:2)
error: cannot open .git/FETCH_HEAD: Permission denied
是我遇到的第一个错误之一。
也许你已经知道,但由于没有更改/查看该目录的权限,可能会发生这种情况。
想法是改变权限,也许使用:
chmod
或
chown
我在Trying to git pull with error: cannot open .git/FETCH_HEAD: Permission denied找到了更多答案。
答案 2 :(得分:1)
您可以检查文件的权限,
ls -l /usr/local/Library/Taps/linode/cli/.git/FETCH_HEAD
和
ls -l /usr/local/.git/FETCH_HEAD
答案 3 :(得分:0)
生成新的SSH密钥对
ssh-keygen -o -t rsa -b 4096 -C "email@domain.com"
将SSH密钥添加到您的GitLab帐户
Copy your public SSH key to the clipboard and paste it into your user account > SSH Keys
对于身份验证,您需要在〜/ .ssh / config中将配置设置为以下内容;
Host domain.com
Hostname domain.com
User git
Port 30001
Preferredauthentications publickey
RequestTTY no
IdentityFile ~/.ssh/id_rsa
您可以将命令用作; 在这些命令中提到的常见变量,请替换这些变量的相关值。
创建新的存储库
git clone ssh://git@domain.com:port-number/user-name/project-name.git
cd project-name
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
推送现有文件夹
cd existing_folder
git init
git remote add origin ssh://git@domain.com:port-number/user-name/project-name.git
git add .
git commit -m "Initial commit"
git push -u origin master
推送现有的Git存储库
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@domain.com:port-number/user-name/project-name.git
git push -u origin --all
git push -u origin --tags
要克隆存储库:
git clone https://git@domain.com:port-number/user-name/project-name.git
答案 4 :(得分:0)
这对我有用:
sudo chown -R $ USER: name_repo
注意: 在我的情况下,我已经用root用户克隆了存储库,然后开始使用另一个用户
答案 5 :(得分:0)
删除现有解决方案并执行git clone为我解决了这个问题
答案 6 :(得分:-1)
如果您正在使用ubuntu,请在前面使用sudo关键字。
sudo git pull
如果您使用的是Windows,请使用管理员模式