是否可以使用JGit将文件提交到远程基本存储库

是否可以使用JGit将文件提交到远程基本存储库,git,jgit,Git,Jgit,我的要求是以编程方式将文件提交到远程基本存储库(位于中心位置,如https//:myproject.git) 我想知道是否可以将文件提交到远程基本存储库(master),而无需将基本repo克隆到本地计算机中。我是个新手。请告诉我。如前所述,您需要首先创建远程基本存储库的本地克隆。更改只能提交到基本存储库的本地副本。最后,通过推送到原始存储库,本地更改在远程存储库上可供其他人使用 JGit有一个模仿Git命令行的命令API,可用于克隆、提交和推送 例如: //将基本存储库克隆到本地目录中 Git

我的要求是以编程方式将文件提交到远程基本存储库(位于中心位置,如
https//:myproject.git

我想知道是否可以将文件提交到远程基本存储库(master),而无需将基本repo克隆到本地计算机中。我是个新手。请告诉我。

如前所述,您需要首先创建远程基本存储库的本地克隆。更改只能提交到基本存储库的本地副本。最后,通过推送到原始存储库,本地更改在远程存储库上可供其他人使用

JGit有一个模仿Git命令行的命令API,可用于克隆、提交和推送

例如:

//将基本存储库克隆到本地目录中
Git Git Git.cloneRepository().setURI(“https://...“”.setDirectory(新文件(“/path/to/local/copy/of/repo”)).call();
//创建、修改、删除存储库工作目录中的文件,
//位于git.getRepository().getWorkTree()的
//向临时区域添加新文件和更改的文件
git.add().addFilepattern(“.”.call();
//从临时区域删除已删除的文件
git.rm().addFilepattern(“”.call();
//将更改提交到本地存储库
git.commit().setMessage(“…”.call();
//将新提交推送到基础存储库
git.push().setRemote(“http://...setRefspec(新的Refspec(“refs/heads/*:refs/remotes/origin/*”)).call();
上例中的
PushCommand
明确说明了要推送到哪个远程服务器以及要更新哪个分支。在许多情况下,省略setter并让命令使用
git.push().call()
从存储库配置中读取适当的默认值就足够了


要了解更多信息,您可能需要看一些文章,其中详细介绍了和

git等仅在本地文件上运行的其他方面。虽然它具有在本地和远程存储库之间同步状态的功能,但所有存储库更新都在本地进行。您需要克隆存储库,进行更改,然后将其推回到远程。