git リポジトリに C# Visual Studio プロジェクトがあります。content ディレクトリは無視したいbin/Debug
が、bin/Release
' ディレクトリの内容は無視したい。ファイルに追加bin/Debug
しました.gitignore
が、機能していないようですbin
。ディレクトリの内容全体が含まれています。これを行うための正しいエントリは何でしょうか?
9 に答える
何も削除する必要はありません。.gitignoreファイルを追加した後、次のコマンドを実行してキャッシュをクリアし、ステージングして再度コミットします。
git rm -r . --cached
これは通常、ファイルがコミットされた後に.gitignoreが追加されたために発生します。.gitignoreは、一致する追跡されていないファイルを無視するようにgitに指示します。コミットされると、無視は機能しなくなります。これを修正する1つの方法は、bin / debugフォルダーを(手動でexplorer / powershell / bashを介して)削除してから、削除をコミットすることです。それが完了すると、無視は期待どおりに機能するはずです。
- ファイル/フォルダを削除する
git add -A
git commit
最近使用しているものは次のとおりです。これにより、再シャープ化によって生成されたものとその他の重要なものがすべて削除されます。Release/
私たちはリリース ディレクトリをコミットしていないので.gitignore
、Debug/
.
/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp
アップデート
github からの非常に包括的な例を次に示します。
次のコマンドを実行するとうまくいきました(「orourkedd」のおかげです):
git rm -r . --cached
ファイルを手動で追加しました.gitignore
が、このコマンドを実行するまで考慮されませんでした。
その後、もう一度コミットする必要がありました。フォルダーが適切に除外されるようになりました/bin
。/obj
古い質問であることは知っていますが、bin/Debug、bin/Release などを正確に除外するアプローチを共有することにしました。
*/**/bin/Debug
*/**/bin/Release
*/**/obj/Debug
*/**/obj/Release
に置き換えることbin/Debug
でこれを修正しましたDebug
。
これにはディレクトリを無視するという影響もありますが、ディレクトリobj/Debug
の内容全体を無視したいobj
のでobj
、.gitignore
.