1

我当前的 Java 项目中有一堆 Java 文件,我一直在修改它们,我想从项目的根文件夹(在 Ubuntu 中)一举将它们全部添加。

我试过了:

git add ./*.java

但这并没有。我尝试像这样转义星号:

git add ./\*.java

但这并没有。然后我试着像这样引用它:

git add "./*.java"

但这并没有。

“git add”的手册页给出了一个例子:

从 Documentation 目录及其子目录下的所有 *.txt 文件中添加内容:

           $ git add Documentation/\*.txt

我尝试使用上面的“文档”之类的目录来限定它,但这也不起作用。

我错过了什么?

[更新]我在下面尝试了@GoZoner 的建议并且它有效,但前提文件是新的,而不是如果它们是已更新的预先存在的文件。这很奇怪。

4

4 回答 4

4

您需要转义“。”

git add \./\*.java

作品。

$ git add \./\*.c
$ git status
# On branch br1
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   bang/boo.c
#   new file:   bing/one.c
#
于 2012-04-05T20:48:36.297 回答
1
git add -u *.java

其中
-u添加修改后的跟踪文件
*.java是 pathspec

于 2019-09-16T04:53:19.493 回答
0

而不是做'git add'使用:

git status

这将向您显示哪些文件是新的(git 未知)以及哪些文件已被修改。更重要的是,对于您的情况,“git status”将显示报告文件的完整路径。知道完整路径后,您将能够使用 'git add full-path-to.java' 一个接一个地添加它们,或者,如果一切看起来都可以提交,那么 'git add -A' 会将它们全部添加。

于 2012-04-05T19:20:38.693 回答
0

如果您想将自己限制在 git 已经知道的文件中,您可以将 git-ls-files 与过滤器结合使用:

git ls-files [path] | grep '\.java$' | xargs git add

在这里,您必须指定文件夹的路径。

或者

在这里,您给出了在排除标准 git 排除项的同时显示缓存的c和其他o文件的说明:每个目录中的 .git/info/exclude、.gitignore 以及用户的全局排除文件。

git ls-files -co --exclude-standard | grep '\.java$'| xargs git add

从这个答案递归地按模式添加文件

于 2017-10-30T19:35:35.043 回答