使用 Java 将文件推送到现有的 GitLab 存储库?

Pushing a file to existing GitLab repo using Java?

我想知道是否有办法使用 java 将文件推送到 GitLab 上的现有存储库。

假设,我的 java 源代码生成了一个输出文件(比如像 config.xml 或 gitlab-ci.yml 这样的配置文件)。我只想将此文件推送到 GitLab 上的远程存储库。这可能吗?我想使用 JGit 是解决方案。但是,我不知道如何使用它,在不创建新回购的情况下推送到现有回购。

旁注:为了阐明我的问题,我面临的情况是,我有一个生成 yaml 文件的代码,该文件将用于配置运行另一个源代码的 GitLab CI。

提前致谢。

好吧,我可以看到两种解决此问题的方法。

1) 使用简单的 ProcessBuilder 并执行 shell 命令,将给定文件添加并推送到存储库。它将在文件夹内执行,这意味着它将在项目的本地存储库的范围内。

2) 使用 JGit,为此您需要正确设置存储库路径:

Repository existingRepo = new FileRepositoryBuilder()
    .setGitDir(new File("[Your project path]"))
    .build();

然后您可以使用 Porcelain API 添加和推送您需要的文件。

您唯一需要考虑的是,使用 Jgit.

提供凭据应该更容易一些。