这个问题可能看似荒谬,但我有疑问。我不是git专家,但我通过命令行每天使用它5年,所以我已经习惯了。
以下是我无法解决的问题:
然后我用我的本地配置更改了这个特定的文件:
me@myproject$ vi wp-config.php
me@myproject$ git st
On branch develop
Your branch is up-to-date with 'origin/develop'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: wp-config.php
no changes added to commit (use "git add" and/or "git commit -a")
为什么他这样做?为什么他不会忽略我的档案? 经过几次阅读,我看到一些研究员删除了文件,如:
git rm -r --cached wp-config.php
当然我们可以这样做但是我们必须提交文件删除,因为索引将文件发现为已删除(不是物理上的)。 它是忽略git仓库中现有文件的标准方法吗?
感谢您的帮助。
以下是我的.gitignore文件的副本:
# Ignore all logs files.
*.log
# Ignore the instance-based configuration.
wp-config.php
# Ignore cache, backups and uploaded files.
wp-content/advanced-cache.php
wp-content/backup-db/
wp-content/backups/
wp-content/blogs.dir/
wp-content/cache/
wp-content/upgrade/
wp-content/uploads/
wp-content/wp-cache-config.php
wp-content/plugins/hello.php
# Ignore some site-based root files.
/.htaccess
/sitemap.xml
/sitemap.xml.gz
# Ignore editor files.
.idea
# Ignore OS generated files.
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
答案 0 :(得分:0)
您需要git rm --cached path/to/file
并提交。如果您有大量文件,则可以从存储库根目录运行以下命令以从索引中删除被忽略的文件:git rm --cached $(git ls-files -i --exclude-from=.gitignore)
第二个命令检索.gitignore
处理的被忽略文件,并将这些路径插入git rm --cached
命令。请注意,如果在子目录中嵌套了.gitignore
,则指向.gitignore
文件,该文件将精确地清理这些单独的目录。
他的文件本身没有被删除的原因是因为.gitignore
阻止自动添加与.gitignore
文件中的模式匹配的文件。它本身不会删除已在索引中跟踪的文件。