如何在不指定完整路径的情况下添加或提交特定文件?

3

在执行git status命令后,我有很多文件需要提交。是否有一种方法可以提交特定的子集,而不必手动指定该子集中每个文件的路径。


1
我经常做类似于 git diff --name-only | <grep 或其他命令> | xargs git add 这样的事情。 - Ismail Badawi
git add 支持文件通配符。 - ElpieKay
2个回答

6

您可以通过执行git add .或只指定它们所在的目录来提交所有文件:git add ./folder/或添加以“test”开头的所有文件:git add test*


1
+1 但请注意 git add .git add -A 之间的区别 → https://dev59.com/lHRB5IYBdhLWcg3wn4UL#572660 - Enrico Campidoglio

2

如果没有指定文件路径(至少隐含地使用通配符),则无法添加文件,但是您可以使用通配符来匹配文本模式以添加文件。

一些建议:

添加所有更改:git add .(包括已跟踪的文件)。

添加所有已跟踪更改的文件:git add -a

添加文件夹中的所有文件和子文件夹:git add PathToFolder/Folder
或者根据Git仓库根目录使用相对路径:git add ./RelativePath/Folder

添加所有C#文件:*.cs

添加所有包含文本的文件:git add *YourText* (也许这就是您想要的,无需指定路径,只需在文件名中使用任何常见字符串即可!)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接