git - .gitignore 不会忽略文件

标签 git version-control atlassian-sourcetree

我的 .gitignore 文件被忽略了,应该被忽略的文件仍然可见。

user@host ~/workdir % git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   .htaccess
#       modified:   application/controllers/statistics.php
#
no changes added to commit (use "git add" and/or "git commit -a")
user@host ~/workdir % cat .gitignore
.htaccess
application/config/config.php
application/config/database.php
user@host ~/workdir %

文件在版本控制中,但我不想推送合理的更改。 git rm ... 不是一个选项,因为文件应该在版本控制中(文件中有其他设置)。我只是不想将我的更改推送到这个文件上。

最佳答案

我有同样的问题:我想要每个存储库不同的 .htaccess 文件然后我不能因为 htaccess 文件已经添加到存储库。它现在正在工作,我可以从任何版本更改任何 .htaccess 文件,而无需 git 推送它们。 Marc 是对的,他说“你需要先删除它,然后才能忽略它。这可以使用 git rm 来完成”。

我按照这个顺序进行:

  • 在某处备份您的 .htaccess 文件
  • 使用 git rm .htaccess 删除 .htaccess 文件
  • 提交此更改(.htaccess 删除)
  • 推送它(git push)

这显然会删除您的 .htaccess 文件

  • 然后编辑 .gitignore 并添加/.htaccess
  • 提交然后推送
  • 通过恢复之前的备份重新创建 .htaccess 文件

然后你就完成了:你对 .htaccess 所做的任何更改都不会再被推送。困难的部分是按照步骤顺序...

希望这是清楚的

关于git - .gitignore 不会忽略文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2965060/

相关文章:

git - 将 master 分支旋转到 feature 分支

html - 文件无法编辑 Github 页面

Xcode 4 和版本控制——但是哪一个?

git - 在gitk中,为什么我的黄色按钮在master上面?

git - Sourcetree 中 check out 现有分支和 check out 新分支之间的区别

git - Visual Studio 使用哪个 .gitconfig 文件?

git - 尝试创建 git clone 的前导目录时权限被拒绝

svn - 用于二进制文件的 Git 或 Subversion

git - 如何使用 SourceTree 在我的 git 存储库中查找文件?

git - 从 SourceTree 创建一个文件的 git diff