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

标签 java git gitlab push repo

我想知道是否有办法使用 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 提供凭据应该更容易一些。

关于java - 使用 Java 将文件推送到现有的 GitLab 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60054272/

相关文章:

java - 解决僵局的策略?

python - 使用 venv 虚拟环境时,我应该将哪些文件提交到我的 git 存储库?

java - 在 bitbucket api 方法中从 InputStream 读取内容

docker - 部署到多个生产服务器

亚搏体育app : Add Default Approvers Picking from a file

java - 为什么我无法使用 Jackson Java 库解包和序列化 Java 映射?

java - 如何使用 lambda 计算对象字段中的重复项?

php - 使用 git 生成我的站点的版本号?

git - 我可以在 Gitlab 网络编辑器提交后触发 git hook 吗?

java - ManyToOne 关系上的 Hibernate @Where 注释