2012-01-07 5 views
1

私はこのリモートツリーを持っており、Gitは、まだ使用されていない:作業ツリー「汚い」

www 
    img 
     i1.jpg 
     i2.jpg 
     other.jpg 

しかし、私のローカル gitのレポ私にこれはあります:

www 
    img 
     i1.jpg 
     i2.jpg 

私は 'other.jpg'ファイルがありません。

私はgitを使用して、ローカルホストにあるWebサイトを自動展開しています。私はthis技術を使用しています。

しかし、私が最初に行うときは、git push webリモートのすべての「ダーティ」ファイルが削除されます。つまり、ローカルの作業リポジトリになかった 'other.jpg'ファイルがリモートで削除されたことを意味します。しかし、それはちょうど初めて発生します。リモートのrepoで新しい 'otherfile'を作成した場合(たとえばftpを使用しているとします)、もう一度i git push webを実行しても、それは再び発生しません。新しい 'otherfile'は今回はリモートから削除されません。

私の質問:gitを展開する方法はありますか私のローカルリポジトリにないすべてのリモートファイルを保持していますか?

git checkout --helpで何かを見つけようとしましたが、できませんでした。私はgoogleで「仕事の木を守るgit checkout」のような質問も試みましたが、結果もありませんでした。

何か歓迎致します。 ありがとうございます。

注:git deployの原因となっている顧客の 'images'ディレクトリを削除しましたが、私のlocaリポジトリには含まれていませんでした。 (Hostgatorのは、少なくとも7dayのバックアップを持っていることを期待して!)

答えて

0

はい:

git ls-files --full-name | xargs -n 1 git checkout -- 
+0

興味深い答え。あなたが答えたのは、受信後のフックで 'git checkout -f'を変更する必要があるということですか? – slinstj

+0

それで十分です。 –

+0

さて、できるだけ早く試してみます。ありがとうございました。 – slinstj

関連する問題