2017-05-18 7 views
0

ソースコントロールとしてGitを使用する新しいVisual Studioプロジェクトを開始しました。 .gitignoreファイルを作成する必要があったのは、私が 'git status'を実行したときに、すべての* .dllファイルと* .pdbファイルが変更されたファイルとして表示されていたからです。 .gitignoreを追加して* .dllと* .pdbをファイルに追加した後でも、 'git status'コマンドはまだファイルを表示しました。gitignoreファイルにファイル式を追加すると、ソースファイルには削除済みのフラグが付けられます

私はSOのどこかで、実行する必要があることをすべて読んでいます: git rm -r。 --cached

しかし、私がしたときに、 'git status'はすべての.csファイルを削除済みとして表示するようになりました!

今私は何をしますか? Visual Studioでは、各.csファイルの横に削除されたアイコンが表示されますが、削除されたファイルもStagedセクションに表示されます。さらに、[変更]タブで.csファイルを「追加済み」として表示します。

誰かがこれを説明できますか?私はGitの専門家ではありません。

おかげで、

+0

リポジトリの状態がわからない場合は、すべてをローカルで消去し、リモートから古い状態をダウンロードすることができます。彼らが問題を考えるのは、1)ファイルを無視して変更をコミットすることです。これらはビルド成果物なので、ファイルシステムから削除するだけで安全です。 2)修正しコミットする.gitignore – Jasen

+0

それでは、最初のコミットは.gitingore_でなければならないことを忘れないでください。そして、あなたは[これをinitにスクリプトする]ことができます(http://stackoverflow.com/questions/16658087/automatically-add-gitignore-and-hooks-on-git-init)。 – Jasen

答えて

0

ファイルが変更として表示した場合のファイルは以前のリビジョンのすでに部分だったとあなたがキャッシュから削除するためにgitを告げたときに、それらは用語でをを削除されるので、それはです新しいリビジョンが以前のリビジョンとどのように関連しているかについて説明します。 .gitignoreにファイルを追加すると、すでにトラッキングされているではなく、のファイルに対してのみ動作します。したがって、ファイルをリビジョンから "削除"してコミットすると、次のリビジョン以降にリビジョンに追加されないため、あなたは良いでしょう... いくつかのリビジョンを進めて決定したらそれらのファイルを持っているこれらのリビジョンの一つをチェックアウトするには、gitはあなたが作業ツリー上にあったものを上書きするため、おそらくそれを拒否します。これは私を次のコメントに導きます:ファイルがブランチの履歴にないように、すでにあるのリビジョンをコミットします。

+0

ファイルがブランチの履歴にないように、すでにコミットされているリビジョンを削除するにはどうすればよいですか? – Ray

+0

何度も繰り返し尋ねられてきた質問です。最も簡単な方法は次のとおりです。 - 最後のリビジョンを_good_チェックアウトします(削除するファイルは含まれていません)。 - ファイルが追加(変更)されたリビジョンをチェリーピックアップし、不要なファイルを削除して修正します。 – eftshift0

+0

代わりに履歴を書き換えることも検討してください。http://stackoverflow.com/questions/16558782/git-how-to-delete-committed-file-permanently/16558879 – eftshift0

関連する問題