git:如何以递归方式添加与glob模式匹配的目录子树中的所有文件?

Phư*_*yễn 56 git glob git-add

我在里面有几个.screen文件/xxx/documentation,它的子目录已经被Git跟踪了.

在修改了许多这些屏幕文件之后,我运行git add documentation/\\*.screen-as git-add文档中的第一个示例所示- 来暂存这些文件,但命令失败:

fatal: pathspec 'documentation/\*.screen' did not match any files

我的命令不好,还是git有bug?

Gre*_*con 59

这是文档中的错误.引用星号

$ git add documentation/\*.screen

要么

$ git add 'documentation/*.screen'

获得你想要的行为.

如果您只想在当前目录中添加文件,请使用

$ git add *.screen

更新:我提交了一个修正问题的补丁,现已修复,版本为1.6.6.2.

  • 除了递归部分之外,此解决方案有效. (2认同)

Flu*_*dan 17

我已经尝试了接受的答案,但它对我没有用..所以这是我的,以防万一有人想要完成工作而不花时间解剖可能导致问题的各个方面:

find documentation -name "*.screen" | xargs git add -u
Run Code Online (Sandbox Code Playgroud)

// git-add的-u选项只添加索引以前跟踪和修改过的文件