【问题标题】:Is .gitignore not working or I have misunderstood it?.gitignore 不起作用还是我误解了它?
【发布时间】:2012-07-06 15:05:33
【问题描述】:

我对 git 很陌生。我的工作文件夹中有一个 .gitignore。

*.jpg
*.gif
*.png
system/*
*/Zend/*
.idea/*.*

嗯,我先是git init,然后是git add *。在此它工作正常并忽略了上述文件。但是当我进行一些更改时,运行相同的命令会将忽略的文件放入暂存区域。我使用git add * 的原因是因为我处理许多文件并且添加每个文件会有点过头了。

更新:这是我第二次运行git add * 时的消息..

#new file:   application/vendors/Zend/XmlRpc/Value/String.php
#new file:   application/vendors/Zend/XmlRpc/Value/Struct.php
...

列表太长了。

【问题讨论】:

  • 您能否举一个已添加的忽略文件的示例?
  • 您添加了.gitignore 文件并提交了吗?
  • 没有需要添加和提交
  • 如果你修改的文件太多,你可以使用 git status & awk 或 cut 来只获取修改后的文件并添加类似git status|grep modified|awk '{print $3}'|xargs git add的东西。
  • @KurzedMetal:你是对的!我的坏..不知道我在想什么:\

标签: git


【解决方案1】:

根据this question中的信息:

模式中的通配符与路径名中的 / 不匹配

因此,我认为Zend 目录的规则不正确。

【讨论】:

    【解决方案2】:

    如果您有.gitignoregit add * 应该抱怨。请参阅此SO question and answer。我不知道为什么它没有抱怨。

    尝试使用git add .,因为这才是您真正想要的。与SO Q&A类似的问题。

    【讨论】:

    • 我不确定我做错了什么?我检查了没有拼写错误。只是我将.gitignore 也放在了我的.git 文件夹中,因为它不起作用。
    • 我遇到过奇怪的问题,.gitignore 以前无法在 Windows 上运行。您是否尝试过改用.git/info/exclude
    • 好吧,我想我已经抓住了。新文件通过git status 列出,我认为列出所有暂存文件,但我认为它没有(可能是)。
    • git status 不应该显示被忽略的文件:kernel.org/pub/software/scm/git/docs/git-status.html 你真的应该改用git add .
    猜你喜欢
    • 2014-01-29
    • 2020-09-18
    • 1970-01-01
    • 2013-06-26
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-10-05
    • 2014-01-27
    相关资源
    最近更新 更多