2012-03-13 29 views
0

自分のシステムに小さな開発サーバーをホストしています。その作業ディレクトリから、私は裸のgit repoを作成しました。そこから自分自身と他の1人のユーザーがリポジトリをローカルシステムにプルしました。Gitが作業ディレクトリから手作業で作成したファイルを削除しました

私は他のユーザーがgit repoの使用をやめたと思って以来。だから私は作業ファイルを直接 "サーバー上"(私のシステム)に直接作業していました。

今朝、他のユーザーがランダムにレポにプッシュしました。 BAMでは、すべてのファイルがすぐに削除されました。フォルダ構造全体が彼のコピーに置き換えられました。

私はGITが彼に言われたと思った - うわー、これらのファイルは一致しません!まずプル!しかしそれは何もしなかった!ちょうどBAM、すべての私の仕事を取り除く。

これで、私のファイルがすべて消えてしまった - 私はレポのログをチェックしてプッシュを表示しますが、自分のファイルを削除することは言及していません。

私は私のセットアップ裸のレポは、そのようなレポは、以下のpost.updateフックを持っていserver.as直接ウェブ上の作業ファイルを制御するためのレポを使用して扱うそこにいくつかのチュートリアルを使用していることに注意してください:

echo "***Updating Server Files***" 
    GIT_WORK_TREE=//myserver/myfolder git checkout -f 

私のファイルは永遠に消えていますか?

答えて

1

git checkout manページでは、これはあなたが、更新後のフックに入れcheckoutため-f(または「強制」)フラグについて言いたいことがあります。

が進んであっても、インデックスや作業ツリーが異なりますHEADから。これは、ローカルの変更を破棄するために使用されます。

"ローカル"リポジトリをまだ使用していて、サーバーを更新する場合は、ローカルのコミットとファイルが変更されないため、他のユーザーが行っていたものであれば問題ありません。

ちょうどが変更を直接行い、設定のGit部分を無視すると、あなたの変更はおそらくなくなりました。 Gitに関しては、消滅したものはすべて「ローカルな変更」だけでした。

+0

私は私のgit seteup ...私は愚かな私を無視していた。ですから、私は-fから回復する方法がないと思います。 gitは本当に自分自身から私を救うことができません –

+0

@ user1267573:本当に:) – Carl

+0

ジョンありがとうございます。再コーディングを開始するのが良いと思います! –

関連する問題