代码之家  ›  专栏  ›  技术社区  ›  OwenP

当存在被忽略的文件时,如何使用通配符添加git?

git
  •  32
  • OwenP  · 技术社区  · 16 年前

    我在Windows7x64上使用msysgit。当有些文件.git ignore可能会忽略时,我不知道如何告诉git添加很多文件。例如:

    1. 初始化git存储库。
    2. 创建包含以下内容的.gitignore:

      *.foo
      
    3. 创建文件“test.txt”和“test.foo”。

    4. 尝试 git add .

    当我尝试这样做时,git抱怨test.foo被忽略,如果我真的想添加它,我应该使用-f。我宁愿把一切都加进去 但是 配置为忽略的文件。我查看了git add文档,它看起来像-a should help;help说,“……并添加.gitignore机制未忽略的所有未跟踪文件。 git add -A . 我也有同样的错误。使用-f添加忽略的文件,这不是我想要的。(用例是在忽略.suo和其他文件后从vs项目中大量添加文件。)

    这是我正在使用的git实现的问题,还是git add中缺少的一些参数?

    4 回复  |  直到 11 年前
        1
  •  32
  •   wRAR    16 年前

    在这里 git add * 抱怨,但是 git add . 做预期的事情(1.7.0.4,Linux)。

    git-add(1) :

    git add命令不会添加 默认情况下忽略文件。如果有的话 已显式忽略文件 在命令行中指定,git add 将失败并忽略 文件夹。忽略文件到达者 目录递归或文件名 由Git执行的全局搜索(引用您的 在贝壳之前的球体)将 默默地忽略。

        2
  •  13
  •   Dan    13 年前

    注意,您还可以使用单引号转义更复杂的全局搜索模式:

    git add '*test*'

    将允许git进行自己的全局搜索。

        3
  •  6
  •   vlsd    13 年前

    另一种方法是避开球形字符,比如:

    git add \*
    
        4
  •  2
  •   VonC    11 年前

    注意 git add --ignore-errors * 即使某些文件被忽略,现在也可以工作。

    commit 1d31e5a 通过 Michael J Gruber ( mjg ) ,吉特2.3.0(2015年2月)

    add :仅忽略忽略的文件

    git add foo bar “两者都没有 foo 也不 bar 什么时候 酒吧 被忽略,但会死掉,让用户重新检查其命令调用。
    这就变得不那么有用了 git add foo.* “受shell扩展的影响,某些扩展文件被忽略。

    git add --ignore-errors “应该在索引某些文件和添加其他文件时忽略错误。它不会忽略实际索引尝试中的错误,但不会忽略错误“ file is ignored “如上所述。这是出乎意料的。

    改变“ git添加foo bar “添加” 什么时候 酒吧 被忽略,但问题 警告并返回更改前的故障代码。

    也就是说,在尝试添加忽略的文件的情况下,我们现在的操作方式相同(有或没有“ --ignore-errors “)其中,当” --忽略错误 ”已指定。