Git Pushを実行するときに.git/ディレクトリの許可を拒否する許可を修正する方法は?

StackOverflow https://stackoverflow.com/questions/6321742

質問

サーバーに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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top