2011-08-14 15 views
0

シナリオ:Git:originブランチは、クローンブランチから削除したファイルを削除しません。

ローカルの作業ディレクトリに複製されたWebサイト用のリモートgit repoがあります。

私はクローン化されたレポ(マスターブランチ)で働いています、

  1. 私はtest.htmlというの削除、($ gitのRM test.htmlという
  2. は、($ gitの変更をコミット-mコミット "が削除テストファイル"
  3. は最終的にリモートレポ(マスター)($ gitのプッシュ
にプッシュ

しかし、私はブラウザのページに移動します:http:// [website] /test.html、ページはまだ表示されます。 test.htmlはまだ削除されているようです。私はローカルクローンブランチでコミットしプッシュして削除したと確信しています。

私は間違ったことをしていますか、何もしていませんか?

ありがとうございました!

答えて

2

リモートロケーションにプッシュすると、リポジトリが更新されますが、チェックアウトは更新されません。チェックアウトを更新したい場合、ポスト受信フックを書かなければなりません。

0

あなたがしていることはすべて正しいようです。プロセスのステップ4は、あなたのWebサーバーに行き、リモートrepo(マスター)からgit pullすることです。

簡単な方法は、Webサーバーとローカルマシン上でshow-ref HEADを実行することです。 sha1は両方とも最新の場合は同じでなければなりません。

0

(これはbcurrenの答えに加えている。私は、したがって、新しい答えをコメント権限を持っていない)

あなたは劇中の3つのリポジトリがここにあることを理解する必要があります。まず、ローカルマシンのローカルリポジトリと、2番目はリモートリポジトリ(変更内容をプッシュする)です。第3に、ウェブサーバーのレポです。

概念的には、ローカルマシンとWebサーバー上のリポジトリは、リモートリポジトリのクライアントリポジトリと似ています。だから一度遠隔のリポジトリにプッシュすると、最新のコミット(あなたの場合はtest.htmlファイルの削除を含む)を取得するために、Webサーバー上でプルを作成する必要があります。

+0

本当ですか? 2番目と3番目のレポは同じです。それはおそらく良い考えではありませんが、私はそれがOPの持つものだと思います。 – svick

+0

プッシュがウェブサーバーに何の影響も与えなかったことを考慮して、私はここに3つのレポがあると推測しました。私は彼が複数の支部で遊んでいないと仮定しており、彼がコミットした支部を押すのを忘れていました。 – brahmana

関連する問題