git递归地添加所有.tex文件



克隆了一个全新的裸回购。

现在我有一个复杂的文件结构,在本地工作目录中复制了许多不同的文件。但现在我只想添加所有子文件夹中的所有.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机器上使用git1.8.5.2.msysgit.0版本。

如何做到这一点?

更新

git add **/*.tex工作良好。

另一种方法:如何调整.gitignore文件,使其忽略除.tex文件之外的所有文件?我在.gignore文件中尝试了以下操作,然后制作了一个git add .,但没有成功。

#Ignore all files
*
#except
!**/*.tex

第二次更新

使用以下.gitignore文件:

#Ignore all files
*
#except
!*/
!.gitignore
!*.tex

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

  1. 启动powershell
  2. cd到repo根
  3. 并运行以下命令:

    ls-包括*.tex-递归|foreach{git-add$_}

我认为这很简单。

最新更新