2009-04-18 8 views
0

バージョン管理下で私のウェブサイトを取得しようとしています。私はExpanDriveでサーバー上で直接作業しています。ExpanDriveはMacFUSEを使用してSFTP接続をローカルボリュームとしてマウントし、端末やその他のローカルアプリケーションにアクセスできます。リモートホストで作業しているときにGitコミットのアクセスエラーが発生しました

私はこのメッセージを受信したときに、私は、コミットしようとするまではとにかく、すべてがスムーズに行く:

fatal: exec .git/hooks/pre-commit failed. 

私は手動でのexecコマンドを実行しようとすると、私はこれを参照してください。

-bash: /Volumes/1&1 Internet/website/.git/hooks/pre-commit: Permission denied 
-bash: exec: /Volumes/1&1 Internet/website/.git/hooks/pre-commit: cannot execute: Unknown error: 0 

を私は私のSFTPクライアントを使って.gitディレクトリの下にあるすべての権限(777)の権限を与えようとしましたが、まだ運がありません。誰も私が試すことができる何かを知っていますか?

答えて

1

ノートパソコンでローカルの開発環境をセットアップしたので、ExpanDriveからgitを使用しようとしています。もう少し時間を費やした後、これらのツールは一緒に働くことを意図していなかったようです。

3

すべてのものを.gitディレクトリの完全な(777)パーミッションの下に与えることで、Gitと共に出荷されるすべてのサンプルスクリプトを.git/hooksで有効にしました。 commitにしようとすると、今実行可能なサンプルのプリコミットスクリプトは、コミットをパッチとしてフォーマットするために実行しようとします。

これがあなたがやろうとしているものでない限り、フックスクリプトが実行されないように、chmod/git/hooks/*〜644をお勧めします。

編集 - フックのアクセス許可をリセットすると、問題が最初に発生した状態に戻ります。 次に、--no-verifyフラグでコミットを試してください。このフラグは、プリコミットフック(およびコミットメッセージのマイナーチェック)をバイパスする予定です。これは回避策かもしれませんが、私はまだあなたが最初の問題があった理由を見ません。コードは非常に簡単に見えます - 有効になっていない場合、そのフックを実行しようとする方法がわかりません。 同じ方法で失敗した場合は、ExpanDrive/MacFuseシステムが適切に権限を処理していないと思いますが、それはほとんどありません。

+0

アドバイスをいただきありがとうございます。残念ながら、私はまだこれを試した後にエラーが表示されます。 –

+0

私の指がキーボード上にあるとき、私の脳はすでに空港に向かいつつあると思う。当然のことながら、アクセス権をリセットするだけで元々問題があった場所に戻ることができます。 – Paul

+0

残念ながら私は--no-verifyでさえ問題がありましたが、新鮮なレポにファイルを追加するだけでエラーになりました。私はこれをあきらめている。 –

1

gitの最近のバージョンでは、フックを有効にする権限とは異なるメカニズムが使用されていると思います。したがって、最近のバージョンを使用している場合は、すべてを.git/hooksディレクトリから削除するか、別の場所に移動して、それが問題かどうかを確認してください。

0

私は同じ問題を抱えていました。別の開発サーバー(devserver)で開発してテストしていますが、私のIDE(PhpStorm)はMacbookにあります。私はExpanDriveを使用して私のMac上のSFTP(SSH)経由でdevserverのWebrootをマウントしています。 MacでGitを使用しようとしたとき、SHA1ファイルなどのエラーが発生しました。

私はそれをこのように解決した:

私は私のMacBookの私のホームディレクトリ内の場所へ/Volumes/devserverでマウントされたドライブから.gitディレクトリを移動しました。その後、私は古い場所を.git dirの新しい場所にシンボリックリンクしました。私は../../Users/jeroen/###を使用しなければなりませんでした。そうしないとリンクが正しくなかったからです。

シンボリックリンクを移動して作成する例:

cd /Volumes/devserver 
mkdir -p /Users/$USER/Code/devserver 
mv .git /Users/$USER/Code/devserver/.git 
ln -s ../../Users/$USER/Code/devserver/.git ./git 
git status 

あなたはGitには、いくつかのキャッシュを再構築しているので、それは、しばらく時間がかかるかもしれない「gitの」コマンドを初めて使用するとき。

+0

Macで私はちょうどヒューズとgitを使用して魅力のように動作します。 一方、ウィンドウズでは、私はExpandriveを試してきましたが、許可エラーが出ます。 –

関連する問題