在JGit中创建回购时,Git状态不显示更改

在JGit中创建回购时,Git状态不显示更改,git,jgit,Git,Jgit,我在尝试,为了像这样的项目 sample-- |-- src |---sampletest |------Test.txt 我在JGit中通过repo.create创建了这个git项目,我可以在示例中找到.git。但是每当我修改Test.txt时。它未从终端以git状态显示 我想不出答案 还有其他可以使用的Java API吗 编辑 此项目最初没有.git。 是的 在此

我在尝试,为了像这样的项目

      sample--
             |-- src
                   |---sampletest
                          |------Test.txt
我在JGit中通过repo.create创建了这个git项目,我可以在示例中找到.git。但是每当我修改Test.txt时。它未从终端以git状态显示

我想不出答案

还有其他可以使用的Java API吗

编辑

此项目最初没有.git。 是的

在此之后,来自终端的Git状态:

C:\Users\msrivastava\Documents\GitHub\sample [master +1 ~0 -0 !]> git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       src/
nothing added to commit but untracked files present (use "git add" to track)
JGit中git status的对应项是StatusCommand。它可以从Git命令工厂获得,并像这样调用:

    Repository repo = ...
    Git git = Git.wrap( repo );
    Status status = git.status().call();

状态的getter返回添加、删除、修改、跟踪等文件的路径。

我可以看到JGit创建的带有“git Status”的存储库中的更改,没有问题。您从哪个目录调用“git status”?你能用命令行Git创建的存储库尝试同样的场景吗?status命令行吗?@Rüdigerhermann:我用更多细节更新了这个问题。而且我仍然没有得到正确的状态。而且,当我从终端git添加src/*时,它工作正常。但是它不能从JGit lib运行,因为第一个git状态输出是正常的-您没有添加任何内容,因此“src”是未跟踪的。如果命令行Git没有反映add调用,则可能是JGit存储库对象在不同的目录上运行。您是否检查了repo.getWorkingDir和getDirectory返回的内容?git.status.call.getAdded返回什么?顺便说一句,JGit AddCommand不支持通配符,请参见JavaDoc。使用addFilepattern。添加所有内容。@Mohyt我面临着同样的问题,因为您设法让它运行。工作目录是/.git location这对我不起作用,我得到的是空数组,如下所述
repository = new FileRepository(<somepath>/sample/+".git");
        git = new Git(repository);
git.add().addFilePattern("src/*").call();
git.add().addFilePattern("src/sampletest/Text.txt").call();
C:\Users\msrivastava\Documents\GitHub\sample [master +1 ~0 -0 !]> git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       src/
nothing added to commit but untracked files present (use "git add" to track)
    Repository repo = ...
    Git git = Git.wrap( repo );
    Status status = git.status().call();