git递归添加所有.tex文件

时间:2014-09-26 14:33:24

标签: git

克隆了一个绝对新鲜的裸仓。

现在我有一个复杂的文件结构,在我的本地工作目录中复制了许多不同的文件。但现在我只想在所有子文件夹中添加所有.tex文件。但以下不起作用:

git add *.tex #error-message: fatal: pathspec '*.tex' did not match any files
git add /*tex #error-message: fatal: C:/Program Files (x86)/Git/*.tex: 'C:/Program Files(x86)/Git/*.tex' is outside repository

在Windows机器上使用git版本1.8.5.2.msysgit.0。

如何使这个工作?

更新

git add **/*.tex效果很好。

另一种方法: 如何调整.gitignore文件,它会忽略除.tex文件之外的所有内容?我在.gitignore文件中尝试了以下内容,然后创建了git add .,但它没有用。

#Ignore all files
*

#except
!**/*.tex

第二次更新

使用以下.gitignore文件:

#Ignore all files
*

#except
!*/
!.gitignore
!*.tex

1 个答案:

答案 0 :(得分:1)

正如您所写,您在Windows上,最简单的解决方案如下:

  1. 启动powershell
  2. cd到repo root
  3. 并运行此命令:

    ls -Include * .tex -Recurse | foreach {git add $ _}

  4. 我认为这很简单。