[解決済み] Gitのプッシュエラーです。Unable to unlink old (Permission denied)です。
2022-02-05 22:42:11
質問
リモートサーバーで、私のリポジトリの git checkout を行うために post-receive フックをセットアップしています。
#!/bin/sh
GIT_WORK_TREE=/var/www/<website> git checkout -f
しかし、ローカルマシンからサーバー内のgitリポジトリにpushを行うと、以下のようなエラーメッセージが表示されます。
remote: error: unable to unlink old '<file>' (Permission denied)
これは何度も表示され、ほとんどすべてのファイルに1つのエラーメッセージが表示されます。
しかし、私はgitを使って変更できるREADME.txtファイルを持っており、そのパーミッションは次のとおりです。
-rw-r--r-- 1 <serverusername> <serverusername> 2939 Aug 2 10:58 README.txt
しかし、全く同じ所有者、同じパーミッションの他のファイルでは、このエラーが発生するのです。
別のウェブサイトのための別のローカルリポジトリで、私は所有者として私のローカルマシンのユーザー名を持つファイルを持ち、リモートサーバーにプッシュすると、ファイルのリモートサーバーの所有者を尊重し、魅力のように動作します。
明らかにパーミッションに関連するエラーのようですが、修正する方法が見つかりません、何か提案はありますか?
解決方法は?
ファイルへのリンクを解除する場合、ファイルではなく、ファイルが存在するディレクトリのパーミッションが「w」でなければなりません。
関連
-
[解決済み] LFはgitでCRLFに置き換えられます - それは何ですか、そしてそれは重要ですか?[重複]。
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Gitのプッシュでユーザー名とパスワードが必要
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] 既存の空でないディレクトリをGitの作業ディレクトリに変換し、リモートリポジトリにファイルをプッシュする方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ブランチを指定せずにgit pushした場合のデフォルトの動作
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Git:コミットに何も追加されていないが、未追跡のファイルが存在する
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】マージ後のコミットでGitエラー - fatal: マージ中に部分コミットができない
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
gitアップロードの共通エラー処理
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] GitBash | origin master - rejected (fetch first) | GitHub リポジトリにファイルがない。
-
[解決済み] git commit signing failed: secret key not available.
-
[解決済み] ssh-keygen' は内部コマンドまたは外部コマンドとして認識されません。
-
[解決済み] git update-index --assume-unchanged <file> を元に戻す。