我正在寻找创建.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
答案 0 :(得分:21)
.gitignore的放置取决于是否需要仅为一个仓库或所有仓库忽略文件。 对于一个回购,请将其放在回购的根目录中。
在现有仓库中创建.gitignore文件或添加已在仓库中的文件时,您必须确保从仓库中删除要忽略的文件。
如果root中有test.dll,则必须执行
git rm --cached test.dll
现在,如果您有很多文件,就像您说的那样可以选择以下选项,请从缓存中删除所有内容,将其全部添加回来(不会添加.gitignore中的文件)并再次提交所有文件。 / p>
git rm -r --cached .
git add .
git commit -m "Start using .gitignore"
答案 1 :(得分:11)
你必须在git看到之前将.gitignore
添加到索引中。即git add .gitignore
答案 2 :(得分:3)
我参与过的项目,我在项目的根目录中有.gitignore文件,其中.git目录就在那里。确保文件已提交。
请注意,如果您已经提交了您要忽略的文件(即Git正在跟踪它们),则不能忽略它们。你必须先解开它们。
答案 3 :(得分:0)
来自@thescientist发布的链接:
Git允许您通过假设它们不变来忽略这些文件。这是通过运行
来完成的 git update-index --assume-unchanged path/to/file.txt
命令。一旦标记文件,git将完全忽略该文件的任何更改;它们不会在运行git status或git diff时出现,也不会被提交。