通过 JGit 访问 Git 仓库

简介:

一个Git库仓在 JGit里面表现为Repository类,该类可以看作是这个库的句柄。通过Repository类实例,你可以创建JGit命令以及可以控制配置、参数等。

获取Git库仓的引用有很多种方法,看到很多人在这方面有困难,本文总结了如何通过JGit来访问Git库仓来帮助大家。

存储库和建造者

Repository类是抽象的,允许实现不同的存储后端。 举例来说,有一个InMemoryRepository类作为测试和实验。当然,最常用的是FileRepository,它表示的是一个本地文件系统。因为实际的实现被考虑为内置的,每一个Repository的实现都有一个相应的存储库建造者,他们应该被用于在内部创建实例。

因此FileRepositoryBuilder是一种被推荐的方式,用这种方式创建了一个FileRepository。由于历史原因,另外还有一个RepositoryBuilder,它是完全一样的,但是在下一个大版本升级之后将会被移除。

为了你的需要,一旦你已经配置了一个存储库构建器,调用它的build()方法来创建一个存储库。

FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder();
repositoryBuilder.setMustExist( true );
repositoryBuilder.setGitDir( ... );
Repository repository = repositoryBuilder.build();

布局的原因,我在每行放置了一个方法调用,但是FileRepositoryBuilder还是一个流接口的实现,所以这个方法调用能够被链接。

这里讨论的所有方法只能应用于本地存储库。Git是一个分布式的版本控制系统,因此不是为了直接操作远程库设计。

为了操作远程库,首先你不得不克隆它。现在你可以在本地副本做些修改,例如提交新的或修改的文件,创建分支或标签等等。为了向远程库同步你的变更,你首先不得不从远程库集成(即获取)变更(如果有的话),然后最终推送你本地的变更。

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
1月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
51 2
|
2月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
179 1
git学习三:git使用:删除仓库,删除仓库内文件
|
2月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
93 4
|
2月前
|
存储 开发工具 git
Git 远程仓库地址管理:添加、修改和验证
Git 远程仓库地址管理:添加、修改和验证
116 4
|
2月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
359 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
3月前
|
开发工具 git
IDEA更改远程git仓库地址
【9月更文挑战第27天】本文介绍了两种在IntelliJ IDEA中更改远程Git仓库地址的方法:一是通过图形界面,在VCS设置中直接修改;二是通过IDEA内置的命令行工具使用`git`命令进行更改。具体步骤包括从版本控制菜单进入项目设置、修改远程仓库URL,以及使用`git remote set-url`命令更新仓库地址,并验证修改结果。这些方法适用于项目迁移或更换仓库地址的情况。
717 6
|
3月前
|
Shell 网络安全 开发工具
git与gitee结合使用,提交代码,文件到远程仓库
本文介绍了如何将Git与Gitee结合使用来提交代码文件到远程仓库。内容涵盖了Git的安装和环境变量配置、SSH公钥的生成和配置、在Gitee上创建仓库、设置Git的全局用户信息、初始化本地仓库、添加远程仓库地址、提交文件和推送到远程仓库的步骤。此外,还提供了如何克隆远程仓库到本地的命令。
git与gitee结合使用,提交代码,文件到远程仓库
|
2月前
|
网络协议 网络安全 开发工具
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
【Git快速入门】Git代码管理手册与协同开发之远程仓库(四)
|
2月前
|
前端开发 开发工具 git
搭建Registry&Harbor私有仓库、Dockerfile(八)+前端一些好学好用的代码规范-git hook+husky + commitlint
搭建Registry&Harbor私有仓库、Dockerfile(八)+前端一些好学好用的代码规范-git hook+husky + commitlint
22 0
|
3月前
|
网络安全 开发工具 git
6-23|自建仓库如何免密执行git pull
6-23|自建仓库如何免密执行git pull