2

私の問題について多くのスレッドやブログ投稿を見てきましたが、どれも私の問題を解決していないので、同じ問題に遭遇した人がいるかどうかここで尋ねます.

github 経由で Web サイトを展開しようとしています。サーバー上に裸のhub.gitレポを作成し、ローカルのgitレポをそれにプッシュし、gitログで機能するかどうかを確認し、すべて問題ありませんでした。

次に、このレポをサーバー上の dev というレポに複製し、そのための仮想ホストを作成すると、すべて正常に表示されます。

以前は、ローカルからハブにプッシュしてから、開発からハブをプルしていましたが、うまくいきました。これを自動化したい、ローカルからハブにプッシュし、ハブを開発者から自動的にプルできるようにしたかったのです。そこで、hub.git/hooks に更新後のファイルを作成し、これを入れました。

    #!/bin/bash
echo
echo "***** updating on dev *****"
echo 
cd /../dev || exit
unset GIT_DIR
git pull origin master

次に、ポストアップデートが実行可能であることを確認しました

   chmod +x hooks/post-update

ローカルリポジトリに戻り、ファイルを変更しました

   git add .
   git commit -m "testing"
   git push origin

このメッセージが出ます

   remote : 
   remote : ***** updating on dev *****
   remote : 
   remote : fatal: Not a git repository (or any parent up to mount point /dev)
   remote : Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

確認したところ、dev ディレクトリに .git があり、HEAD の名前は変更されていません。ただし、HEAD、FETCH_HEAD、およびORIGIN_HEADがあります(それが何かを変えるかどうかはわかりません)。

ここで何が問題なのかわかりません。サーバーはgentoo x86です(それがまったく役立つ場合)。明らかな何かが欠けている場合、またはこれを投稿する場所ではない場合は申し訳ありません。

4

1 に答える 1

0

で置き換えるcd /../devcd ../dev役立ちます。

そうでない場合はecho $(pwd)、出力のどこにいるかを確認してください

于 2013-06-03T07:41:40.790 に答える