Git - 创建一个 .gitignore 文件
Git - 创建一个 .gitignore 文件
我想创建一个 .gitignore
文件,以便某些文件不会被提交到仓库中。有没有人有关于如何以及在哪里放置这个文件的指南?我尝试将它放在我的工作目录中,运行了 git status,但它仍然会识别到我想忽略的文件。
我使用了我找到的这个 .gitignore
文件:
###################
# 编译源码 #
###################
*.com
*.class
*.dll
*.exe
*.pdb
*.dll.config
*.cache
*.suo
# 如果它们在NuGet包目录中,则包含dll文件
!/packages/*/lib/*.dll
# 如果它们在CommonReferences目录中,则包含dll文件
!*CommonReferences/*.dll
####################
# VS 升级文件 #
####################
UpgradeLog.XML
_UpgradeReport_Files/
###############
# 目录 #
###############
bin/
obj/
TestResults/
###################
# Web发布日志 #
###################
*.Publish.xml
#############
# Resharper #
#############
/_ReSharper.*
*.ReSharper.*
############
# Packages #
############
# 最好解压这些文件并提交原始源代码
# git有自己的内置压缩方法
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
######################
# 日志和数据库 #
######################
*.log
*.sqlite
# 操作系统生成的文件 #
######################
.DS_Store?
ehthumbs.db
Icon?
Thumbs.db
问题的原因是已经将一些文件commit到了git中,而现在又想要将这些文件忽略掉,但是gitignore文件并没有起作用。解决方法是首先使用git rm file...
命令将这些文件从git的索引中移除,然后再使用.gitignore文件来忽略它们。
在我工作过的项目中,我通常将.gitignore文件放在项目的根目录中,即.git目录所在的位置。确保这个文件被commit。
需要注意的是,如果你已经将想要忽略的文件commit到了git中(即git正在跟踪这些文件),那么它们将无法被忽略。你需要先将它们从跟踪状态中移除。
我怀疑问题出在已经将这些文件commit到了git中,所以解决方法是使用git rm file...
命令将它们从git的索引中移除,然后.gitignore文件就会起作用了。
更多关于忽略文件的信息可以参考https://help.github.com/articles/ignoring-files。
在使用Git时,有时候会遇到需要创建.gitignore文件的情况。这个文件的作用是告诉Git哪些文件或文件夹不需要被追踪和版本控制。然而,有些用户可能会遇到问题,即他们创建了.gitignore文件,但Git却无法识别它。本文将探讨这个问题的原因以及解决方法。
问题的原因在于,在Git看到.gitignore文件之前,我们需要将它添加到索引中。具体来说,我们需要使用命令git add .gitignore
将.gitignore文件添加到索引中。
当我们将.gitignore文件添加到索引后,我们可能会尝试使用git push
命令将更改推送到远程仓库,并使用git status
命令检查状态。然而,有些用户可能会发现,尽管他们已经添加了.gitignore文件,并且进行了推送,但状态仍然没有改变。
解决这个问题的方法是,只需要在顶层文件夹中有一个.gitignore文件就足够了,不需要将.gitignore文件添加到仓库中。如Rudi所说,.gitignore文件本身通常是我第一个添加的条目。
如果我们遇到了Git无法识别.gitignore文件的问题,我们需要将.gitignore文件添加到索引中,然后将其推送到远程仓库。但需要注意的是,只需要在顶层文件夹中有一个.gitignore文件,不需要将其添加到仓库中。这样,我们就可以成功地告诉Git哪些文件或文件夹不需要被追踪和版本控制。
问题:Git - 创建.gitignore文件的原因和解决方法是什么?
原因:根据文件需要被忽略的范围不同,.gitignore文件的放置位置也会有所不同。如果只需要在一个仓库中忽略文件,将.gitignore文件放置在仓库的根目录即可。但是在现有仓库中创建.gitignore文件或将已存在的文件添加到仓库中时,需要确保从仓库中移除需要被忽略的文件。
解决方法:如果在仓库的根目录中存在test.dll文件,并且需要忽略该文件,可以使用以下命令:
git rm --cached test.dll
如果有很多文件需要被忽略,可以选择以下解决方法:首先清空缓存中的所有文件,然后重新将所有文件添加到缓存中(.gitignore中的文件将不会被添加),最后再次提交所有更改。
git rm -r --cached . git add . git commit -m "Start using .gitignore"