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

时间:2017-12-15 19:09:03

标签: java git jgit

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

我有例如packageA/myfile.xml,并希望将其移至packageB/myfile.xml

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

1 个答案:

答案 0 :(得分:0)

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

在你的问题的背景下,你会

  1. 通过Java NIO/File API

  2. 移动相关文件
  3. 使用JGit RmCommand

  4. 删除旧文件(packageA/myfile.xml
  5. 使用JGit's AddCommand

  6. 将移动的文件(packageB/myfile.xml)添加到索引中
  7. 提交已移动(实际已删除,然后(重新)添加)的文件

  8. 您提到的org.eclipse.egit.github.core插件/库旨在与GitHub的REST API进行交互。它被用作GitHub Eclipse集成的基础,用于访问和查询在GitHub审查pul请求和类似事物上托管的Git存储库。