如何选择.txt
当前目录中所有以 结尾的文件,但忽略子目录中的所有文件?
*.txt
.txt
也选择以子目录结尾的所有文件。我该如何省略它们?
目录结构:
current folder
|-first_file.txt
|-sub_folder
|-second_file
我正在尝试将first_file 单独添加到git 存储库中。但是这样做git add *.txt
会将第一个和第二个文件添加到舞台中。我只想添加第一个文件。
答案1
shell 或 git 是否处理该模式之间存在细微的差别。git
也考虑子目录,但 shell 不考虑。所以在你的情况下,运行
git add *.txt
而当前目录是您的“当前文件夹”,则让 shell 进行通配符扩展(因此仅在当前目录中添加匹配的文件)。
详细说明
- 通配符
git add *.txt
扩展是由 shell 完成的,因此git
实际上是用 with 调用的git add file1.txt file2.txt
(这意味着git
只获取传递的文件名并添加它们)。这里唯一需要注意的是,如果有不文件匹配*.txt
git
仍会运行,git add *.txt
这当然会触发git
子目录扫描 - 通过
git add '*.txt'
通配符扩展来完成,git
这也始终意味着子目录扫描。