CentOがあります。 gitを作成し、所有者の.gitフォルダグループを「gitdevelopers」にしました。グループ「gitdevelopers」にUser1とUser2を追加します。今度はgit-Pushとgit-pullをuser1とuser2から変更します。しかし、コンピューターのユーザーはエラーで動作しません:
git.exe pull -v --no-rebase --progress "Origin" error:cannot open .git/FETCH_HEAD:Permission denied
どうして?
p.s .:そして、私はログインパスワードuser1とuser2でx-Shellによってサーバーに接続できます。
数時間後:: gitが覚えている正しいログインパスワードではないので問題だと思います。
p.p.s:gitはログインとパスワードのペアを保存しますか?私はssh-protocolを使用しています。
p.p.p.s.:OK。私はgitのサーバーCentOを持っています。サーバーには2人のユーザーがいます。また、WindowsにはTortoiseGitを使用しています。私はこれを次のように構成します。各接続システムで、サーバーに接続するためのログインとパスワードを要求しました。そして今、私は知りたいと思っていました:1.このログインパスワードはどこに保存されていますか2.このペアを永久に保存できますか?
これは私と一緒に働いた
Sudo chown -R $(whoami) .git/
error: cannot open .git/FETCH_HEAD: Permission denied
これまでに発生した最初のエラーの1つでした。
おそらくあなたはすでに知っていたかもしれませんが、これはそのディレクトリを変更/表示する権限がないために発生している可能性があります。
アイデアは、許可を変更することです、おそらく以下を使用します:
chmod
または
chown
私はここでさらに回答を見つけました エラー付きでgit pullを試みます:.git/FETCH_HEADを開けません:権限が拒否されました 。
ファイルの権限を確認できます
ls -l /usr/local/Library/Taps/linode/cli/.git/FETCH_HEAD
そして
ls -l /usr/local/.git/FETCH_HEAD
新しいSSHキーペアの生成
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
GitLabアカウントにSSHキーを追加する
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://[email protected]: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://[email protected]: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://[email protected]:port-number/user-name/project-name.git
git Push -u Origin --all
git Push -u Origin --tags
リポジトリを複製するには:
git clone https://[email protected]:port-number/user-name/project-name.git