提交中包含gitignore设置

Nic*_*k B 2 git commit gitignore

我正在尝试在git中提交正确的文件,但是在正确配置gitignore时遇到了问题。我按照此处的说明创建了gitignore文件(django项目):

# File types #
##############
*.pyc
*.swo
*.swp
*.swn

# Directories #
###############
logs/

# Specific files #
##################
projectname/settings.py

# OS generated files #
######################
.DS_Store
ehthumbs.db
Icon
Thumbs.db
*~
Run Code Online (Sandbox Code Playgroud)

问题是settings.py已包含在提交中:

Admin$ git add .
Admin$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   projectname/settings.py
Run Code Online (Sandbox Code Playgroud)

如何忽略gitignore中的设置?

Sco*_*tus 8

看来您已经settings.py受到git的版本控制了。在这种情况下,无论您用什么方式编写,git都将继续跟踪文件.gitignore

您必须明确告诉git忘记settings.py

  1. 将其添加到.gitignore(与您一样)
  2. 从git删除文件而不删除文件: git rm --cached projectname/settings.py
  3. 提交更改: git commit -m "remove settings.py"

之后git将忽略该文件。但是请注意,已经提交的版本将保留在您的存储库中。

  • 这可能是正确的答案,人们经常误解这一点。**如果文件已经版本化,即使 .gitignore 上有匹配项,git 也会继续跟踪它;你必须手动删除它,然后,现在,git 会忽略它。** (2认同)