11

私は、全員がアクセスできるマシンで他の数人と共有したい小さなプロジェクトを持っています。ローカルリポジトリのベアコピーを作成しました

git clone --bare --no-hardlinks path/to/.git/ repoToShare.git

次に、repoToShare.git をサーバーに移動しました。

次の方法で確認できます。

git clone ssh://user@address/opt/gitroot/repoToShare.git/ test

その後、ローカル リポジトリ内のすべてを確認し、それに対してコミットできます。変更をリモート サーバーにプッシュしようとすると、次のエラーが発生します。

*** Project description file hasn't been set
error: hooks/update exited with error code 1
error: hook declined to update refs/heads/master

何か案は?

4

6 に答える 6

19

Git はフック ディレクトリに一連の事前設定済みフックをインストールしますが、そのままでは実行されません。それらの実行を許可した場合 (例: chmod +x)、git はそれらを実行しようとします。特定のエラーがポップアップ表示されるため、デフォルトの更新が実行されません。修正するには、デフォルトの更新フックを削除します。

このリンクは役に立ちますか? テキストから:

私の同僚は、ここでプッシュが機能しない同様の問題を経験しました。ローカルまたはリモートのパブリック リポジトリにプッシュできませんでした。彼は、.git/hooks/update によってスローされたプロジェクト記述ファイルが設定されていないというエラーを取得していました。このエラーは、Linux または Windows ボックスの同じプロジェクトでは発生しておらず、Windows Vista でのみ発生しているように見えました。私の調査によると、フック/更新はデフォルトでは実行されませんが、Windows Vista ではファイルのアクセス許可が実行されたことを意味します。フック/更新を削除すると、これらの問題が解決されました。

于 2008-10-14T07:16:39.113 に答える
16

フック/更新の削除は、やりたいことではありません。

.git/description を好きなように変更するだけです。たとえば、「FOOBAR リポジトリ」、またはフランス語の場合は「Le depot de FOOBAR」などです。

于 2008-12-05T06:14:51.683 に答える
2

Mac OS X ( MacPortsでコンパイルされた Git バージョン 1.6.1 ) から Ubuntu リモート リポジトリ (Git バージョン 1.5.4.3)にプッシュするときにも、このエラーが発生しました。

.gitローカル リポジトリとリモート リポジトリの両方の /description ファイルにリポジトリの名前を追加し、修正しました。

于 2009-02-03T23:12:30.440 に答える
1

ファイルを削除するか、その実行を防止することは極端な解決策のようです。プロジェクトの説明を追加したくない場合は、プッシュ アクションをブロックしているフック/更新内の行をコメントまたは削除するだけで十分です。私のファイルでは、これらの行は次のとおりです。

# check for no description
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb." ]; then
       echo "*** Project description file hasn't been set" >&2
       exit 1
fi

それらをコメントアウトすると、すべて正常に機能しました。

于 2011-08-19T13:04:55.987 に答える
1

chmod -x フック/更新

上記のコマンドを .git ディレクトリから実行すると、更新フックから実行権限のみが削除されます。ファイルを削除する必要はありません

于 2011-06-19T11:10:23.713 に答える
0

@dragulesq と同じ問題がありましたが、Red Hatサーバーを使用していました。

もう少し冗長にするには、ローカル (私の場合は Mac OS X) の .git/description ファイルに文字列として必要なものをすべて入れてください。ウェブサイトを配置し、Git リポジトリをホストするリモート サーバーで (いわば) .git/description ファイルを編集し、同じ文字列を再度配置します (例: website )。

于 2010-06-13T11:15:58.460 に答える