1

我正在尝试将一个 shell 脚本移植到 Java,其中包含一些我主要设法在 JGit API 中找到的 Git 命令。但是,我还没有设法找到 remote 或 am 命令,这是因为它们不存在还是我只是在错误的地方寻找它们。如果它们不存在,还有其他方法可以使用它们吗?

4

1 回答 1

1

git remoteJGit和JGit中没有现成的可运行对应物am,但应该可以通过合理的努力来实现它们(其中的一个子集)。

git remote可以通过直接访问存储库配置来模拟该查询或操作配置文件的那些子命令Repository.getConfig()

要像清理过时的远程跟踪分支一样git remote prune,您可以使用LsRemoteCommand获取现有远程分支的列表并从本地配置中删除与该列表不匹配的远程。

更换git am可能需要更多的努力。可以ApplyCommand应用来自给定输入流的补丁以及低级Patch类来解析差异。剩下的就是解析邮箱文件并根据包含的差异和元数据(消息、作者等)生成提交。

于 2014-12-01T10:27:50.603 回答