12

競合なしで動作するために必要なgitリポジトリがあります。.net / c#mvcリポジトリです。問題はdllとpdbファイルです。これらのファイルは誤ってリポジトリにコミットされているため、最初git pullのファイルを作成すると、これらすべてのファイルが別の開発者によってコミットされます。

私はその.gitignoreように設定しました:

bin/
obj/
App_data/

他の投稿から、私がしなければならないのはそれだけだと思いますが、プロジェクトをビルドして実行git statusすると、コミットされる多数のdllファイルとpdbファイルが表示されます。

これは、クローンを作成したときにそれらのファイルがリポジトリに存在していたためですか?もしそうなら、それらのファイルを削除するための最善の方法は何ですか?

4

3 に答える 3

12

ディレクティブが git リポジトリに適用されるのを確認する前に、まずこれらのファイルを削除する必要があります ( git rm) 。.gitignore

これらのファイルを作業ツリーに残しておきたい場合は、インデックスからのみそれらのファイルを削除できます。

git rm -r --cached a.dll

(「.gitignoreファイルを無視しない」を参照)

しかし、生成されたファイルの場合、それらが削除されても問題ありません。次のコンパイルでそれらを再作成しますが、それらはインデックスの一部ではないため無視してください。

于 2012-08-26T20:19:24.917 に答える
1

これは非常によくある質問で、通常の答えは過去のコミットをクリーンアップできないというものですが、これには特別なツールがあります。git フィルターと BFG リポジトリ クリーナーの簡易化: http://rtyley.github.io/bfg-repo-cleaner/#usage

于 2014-09-25T20:58:03.163 に答える