特定のファイルがリポジトリにチェックインされないように、.gitignore
ファイルを作成しようとしています。このファイルを配置する方法と場所に関するガイドはありますか?私はそれを作業ディレクトリに配置しようとしましたが、git statusを実行しましたが、無視したいファイルをまだピックアップしています。
私が見つけたこの.gitignore
ファイルを使用しました:
###################
# compiled source #
###################
*.com
*.class
*.dll
*.exe
*.pdb
*.dll.config
*.cache
*.suo
# Include dlls if they’re in the NuGet packages directory
!/packages/*/lib/*.dll
# Include dlls if they're in the CommonReferences directory
!*CommonReferences/*.dll
####################
# VS Upgrade stuff #
####################
UpgradeLog.XML
_UpgradeReport_Files/
###############
# Directories #
###############
bin/
obj/
TestResults/
###################
# Web publish log #
###################
*.Publish.xml
#############
# Resharper #
#############
/_ReSharper.*
*.ReSharper.*
############
# Packages #
############
# it’s better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.Zip
######################
# Logs and databases #
######################
*.log
*.sqlite
# OS generated files #
######################
.DS_Store?
ehthumbs.db
Icon?
Thumbs.db
.gitignoreの配置は、1つのリポジトリだけでファイルを無視する必要があるか、すべてのリポジトリで無視する必要があるかによって異なります。 1つのレポについて、レポのルートに配置します。
既存のレポジトリで.gitignoreファイルを作成するか、レポジトリに既に存在するファイルを追加する場合、レポジトリから無視されるファイルを削除する必要があります。
ルートにtest.dllがある場合は、以下を実行する必要があります
git rm --cached test.dll
さて、次のオプションを選択し、キャッシュからすべてを削除し、すべてを追加し直して(.gitignoreのファイルは追加されない)、再びすべてをコミットできると言ったように、多くのファイルがある場合。
git rm -r --cached .
git add .
git commit -m "Start using .gitignore"
Gitが見る前に、インデックスに.gitignore
を追加する必要があります。つまり、git add .gitignore
。
私が取り組んだプロジェクトでは、.gitディレクトリがあるプロジェクトのルートディレクトリに.gitignoreファイルがあります。ファイルがコミットされていることを確認してください。
無視しようとしているファイルを既にコミットしている場合(つまり、Gitがそれらを追跡している場合)、無視できないことに注意してください。最初にそれらを追跡解除する必要があります。
@thescientistが投稿したリンクから:
Gitでは、それらのファイルが変更されていないと想定することで、それらのファイルを無視できます。これは、
git update-index --assume-unchanged path/to/file.txt
コマンド。ファイルをそのようにマークすると、gitはそのファイルの変更を完全に無視します。 git statusまたはgit diffを実行すると表示されず、コミットされることもありません。