2016-12-24 7 views
1

私はサーバーと私のローカルPCにウェブサイトを持っています。ウェブサイトの一部はBitBuckedにリポジトリとして保存されています。ウェブサイトは、以下のファイルとフォルダで構成されています私の非リポジトリファイルはgitで安全ですか?

.htaccess 
uploads/ 
resources/ 
index.php 

.htaccesswwwディレクトリへの絶対パスが含まれています。したがって、私のローカルPCは私のサーバーと異なる.htaccessファイルを持っています。さらに、ローカルPCと私のサーバの間でuploadsフォルダを同期させたくありません。残りのファイルは同期する必要があります。

は私が無視されたファイルは、私のリポジトリにもありません

.htaccess 
uploads/ 

Furtheが含まれている.gitignoreファイルを追加することによって、私はそれらを無視することができhereを考え出しました。

uploadフォルダと.htaccessは私のリポジトリにないので、gitコマンドを使用しているときに誤って削除してしまっているのは怖いです。

はそれがそれらを削除するだろう唯一の可能なのgitコマンドが

git clean -dfx 

か、私は気づいていないのだ他のgitコマンドがあるだろうと、正しいですか?

さらに、git clean -dfxを使用してデータを削除した場合、そのデータを回復することは可能ですか?

答えて

1

はい、私はいつも-nを削除する前にdry-run-n)モードでgit cleanを実行しています。

git clean -ndx 

それはgitのクリーン-dfxで削除されたときにデータを復旧することは可能でしょうか?

のgit自身ではありません:それは(のようなRecuva for Windows

お使いのOSによって異なりますが、一般的に、民間のファイルは(追跡されていない、バージョン管理)影響を受けないはずgit checkoutgit reset --hardを買います。どんなにあなたに起こる何

mklink .htaccess C:\path\outside\.htaccess 
mklink /D .upload C:\path\outside\upload 

その方法、:
(Windowsの場合)管理者モードで、言われて、あなたは外あなたのGitのリポジトリを置か.htaccessファイルやuploadフォルダへのシンボリックリンクを作ることができることあなたの個人情報は安全です。

+0

あなたは 'git clone -n​​fdx'を書いています。あなたは 'git clean -nfdx'を意味しましたか? –

+0

ありがとう!なぜ 'git clean -ndx'の代わりに' git clean -nfdx'を使うのですか?コマンド-nと-fは互いに矛盾していませんか? – Adam

+0

@Adamはい、ありがとうございます。私もそのタイプミスを修正しました;) – VonC

0

.gitignoreにファイルを置くと、そのファイルが必要ないことをGitに伝えます。基本的には、無視されたファイルの代わりにディレクトリを作成する必要がある場合など、名前が必要な場合はいつでも削除する権限を与えます。

git cleanではないここでは、.gitignoreで述べたファイルを削除することが許可されています。私はgit mergeも無視されたファイルを削除すると思います。

今日でない場合でも、.gitignoreのエントリの現在の定義は重要ではないということです。 Gitには無視できるファイルを指定する機能はありません貴重です。

関連する問題