2012-01-21 6 views
0

gitを公開鍵を使ってSSH経由でWebサーバにローカルdev-repositoryをプッシュできるように設定しました。サーバー上の裸のリポジトリには、すべてのファイルを正しい場所にチェックアウトするポスト受信フックが設定されています。git pushは「すべて最新」と言います

今日まで私は手動でサーバー上の一部のファイルのアクセス許可を変更しました。それはリモートリポジトリファイルにアクセスすることができませんでしたので、再度コマンドを

Gitのプッシュウェブ

を試した後、それは私に権限エラーの多くを与えました。だから私は以前のものに戻して再試行した。しかし、今は「Everything up-to-date」と言われていますが、新しいバージョンはまだ私のサーバーにはありません。

これを解決するにはどうすればよいですか?

答えて

0

あなたが言及したような権限の問題のため、レポが更新され、ポスト受信が失敗した可能性があります。最も簡単な修正方法は、コミットしてプッシュすることです。または、サーバーに行き、ポスト受信を自分で実行してください。

ポスト受信はプッシュの結果に影響しないため、失敗してもプッシュはまだ行われます。それがあなたがこれを観察している理由です。

+0

明確にするために:「すべて最新」はGitです。はい、あなたはこの最新のコミットをこの裸のリポジトリにプッシュしました。それはあなたのフックとは関係がありません。フックは、物事を変えるプッシュの後にのみ実行されます。あなたのプッシュは何も変更しないので、あなたのフックは実行されないので、あなたのWebサーバーで何もチェックアウトされません。 – Cascabel

+0

ありがとう、私がしたのは手動でポスト受信フックを実行して、不足しているファイルをコピーしたものです。 – ddillert

関連する問題