Git Pushを実行するときに.git/ディレクトリの許可を拒否する許可を修正する方法は?
-
27-10-2019 - |
質問
サーバーにGitリポジトリを設定しました。新しいユーザー「git」を作成しました。私のレポはあります /srv/git/example.git
. 。私はできました git remote add origin git@domain/srv/git/example.git
その後、変更を加えてコミットしました。
しかし、私が試したとき git push origin master
失敗しました:
致命的:一時的なファイルを作成できません:許可を拒否されました」と「致命的:SHA1ファイル書き込みエラー:無効な引数」
私が実行したサーバーで:
sudo chown -R git:git /srv/git/`
これは私の問題を修正しましたが、これが正しいことだと思っていますか?
解決
サーバーで私はsudo chown -r git:git/srv/git/ - これが私の問題を修正しましたが、これが正しいことかどうか疑問に思っていますか?
絶対。問題は、以前は、SSHを介してログインしているGitユーザーがリポジトリに書き込むことができなかったことでした。
ニーズに応じて、ユーザーとSSHキーのさまざまな組み合わせ、またはアクセスをより細かく制御するために使用できる多くの追加プログラム(Gitoliteなど)の1つを考慮することができます。
他のヒント
まず、リモートのファイル権限を修正します .git
dir eg
sudo chmod -R ug+w /var/www/.git
sudo chown -R git:git /var/www/.git
また root:root
メンバーを割り当てたい場合 root
プッシュアクセスのためのグループ。
次に、宛先ホストのgitリポジトリを共有として設定する必要があるため、リモートの次のコマンドを実行する必要があります。
git config core.sharedRepository group
所属していません StackOverflow