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

时间:2014-05-07 03:42:17

标签: git jgit

我正在尝试JGit,对于像

这样的项目
      sample--
             |-- src
                   |---sampletest
                          |------Test.txt

我在JGit中通过repo.create()创建了这个git项目,我可以在示例中找到.git。但每当我修改Test.txt。它没有在终端的git状态中显示。

我无法找到答案。

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

修改

这个项目最初没有.git。 我做了,

repository = new FileRepository(<somepath>/sample/+".git");
     git = new Git(repository);

这会在内部示例中创建一个.git。 来自终端的Git状态:

C:\Users\msrivastava\Documents\GitHub\sample> 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)

所以在repo.create()之后,它不会添加或提交样本/ src / *

毕竟我加载了示例项目git repo。并使用文件模式“src / *”和“src / sampletest / Test.txt”执行添加

repository = new FileRepository(<somepath>/sample/+".git");
        git = new Git(repository);
git.add().addFilePattern("src/*").call();

另外

git.add().addFilePattern("src/sampletest/Text.txt").call();

此后终端的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)

1 个答案:

答案 0 :(得分:0)

JGit中git status的对应部分是StatusCommand。它可以从 Git命令工厂获得并像这样调用:

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

Status的getter返回添加,删除,修改,跟踪等文件的路径。