如何使用 Java 在 GitHub 存储库中以编程方式移动文件?

How to move a file programatically in a GitHub repository with Java?

我正在使用 org.eclipse.egit.github.core 库(版本 4.9.0.201710071750-r),目前,我能够在一次提交中推送文件列表。

我有例如 packageA/myfile.xml 并想将其移动到 packageB/myfile.xml

我需要在一次提交中完成,并且可以是许多操作之一(可以是其他新文件、修改的文件)。

使用 Java 以编程方式操作 Git 存储库的首选库是 JGit,它是 Git.[=16 的纯 Java 实现=]

根据你的问题,你会

  1. 通过 Java NIO/File API

  2. 移动有问题的文件
  3. 删除带有 JGit RmCommand

  4. 的旧文件 (packageA/myfile.xml)
  5. 将移动的文件 (packageB/myfile.xml) 添加到索引 JGit's AddCommand

  6. 提交移动的(实际删除然后(重新)添加)文件

您提到的 org.eclipse.egit.github.core plug-in/library 旨在与 GitHub 的 REST API 交互。它用作 GitHub Eclipse 集成的基础,用于访问和查询 Git 在 GitHub 上托管的存储库,查看 pul 请求和类似的东西。