public ByteArrayOutputStream read(String revision) {
ByteArrayOutputStream out = null;
Repository repository = null;
try {
//gitDir表示git库目录
Git git = Git.open(gitDir);
repository = git.getRepository();
RevWalk walk = new RevWalk(repository);
ObjectId objId = repository.resolve(revision);
RevCommit revCommit = walk.parseCommit(objId);
RevTree revTree = revCommit.getTree();
//child表示相对git库的文件路径
TreeWalk treeWalk = TreeWalk.forPath(repository, child, revTree);
ObjectId blobId = treeWalk.getObjectId(0);
ObjectLoader loader = repository.open(blobId);
loader.copyTo(out);
} catch (IOException e) {
logger.error("", e);
} catch (JGitInternalException e) {
logger.error("", e);
} finally {
if (repository != null)
repository.close();
}
return out;
}
分享到:
相关推荐
《gitVersioner-plugin:从git历史记录中轻松获取版本号》 版本管理是软件开发中的重要环节,尤其是在大型项目和团队协作中。Git作为最流行的分布式版本控制系统,为我们提供了强大的版本控制功能。然而,如何从Git...
git reset [文件名]:将暂存区的文件取消暂存,或者切换到指定版本git reset --hard [版本号] git commit -m "描述信息" [文件名]:将暂存区的文件修改提交到版本库 git log:查看日志 远程仓库命令: git remote:...
Git是世界上最先进的分布式版本控制系统,尤其在软件开发领域中被广泛应用。这个“git官方版,稳定版本”提供了最新的稳定版本,确保用户可以享受其高效、可靠的服务。Git由Linus Torvalds创建,最初是为了管理Linux...
Git是世界上最流行的分布式版本控制系统,它允许开发人员追踪和管理代码变更,特别是在团队协作的软件开发项目中。标题提到的是Git的2.15.0版本,这是一个64位的构建,特别为Windows操作系统(包括Win7、Win8和Win10...
在IT行业中,Git是一款非常流行的分布式版本控制系统,用于跟踪对软件项目文件的修改。而Gogs(Go Git Service)则是一个轻量级、易于搭建的自助Git服务,它可以帮助我们快速地创建和管理Git远程仓库。本文将详细...
因此,自动根据代码版本号命名bin文件可以避免混淆,保证每个bin文件都能与对应的源代码版本对应。 "RenameBinApplication"可能是一个定制的Keil插件或者脚本,它的功能是在编译完成后,自动检测当前代码的版本信息...
- 使用`git commit -m "提交说明"`命令将暂存区中的文件正式提交到版本库中。 - 提交时需要附带一个提交说明,描述此次提交的内容或目的。 #### 四、查看仓库状态及修改内容 1. **检查状态**: - 使用`git ...
对于macOS用户,可以通过Homebrew或Mac App Store获取Git。Linux用户则通常通过包管理器(如Ubuntu的`apt-get`,CentOS的`yum`或Fedora的`dnf`)进行安装。 安装过程中,你需要选择默认的配置,或者根据个人需求...
在提供的压缩包文件中: 1. `Setup_v2.19.1.0.exe` 是Git的安装程序,版本号为2.19.1.0。这个版本可能包含了基本的Git命令行工具和Git GUI,是Git的基础组成部分,用于管理代码仓库,执行提交、推送、拉取等操作。 ...
在Git的版本命名规则中,主版本号(如2)代表重大功能更新,次版本号(如7)代表次要功能或改进,修订号(如2)则通常用于修复bug和小的优化。因此,2.7.2意味着这是一个相对成熟且稳定,具有多个小改进的版本。 ...
压缩包中的文件"Git-2.27.0-64-bit.exe"是GitBash的安装程序,版本号为2.27.0。这个版本的GitBash引入了若干改进和修复,包括增强的性能、新的命令行选项以及对Git功能的更新。安装此程序后,用户可以在Windows系统...
你可以在项目的属性文件中设置版本号,例如: ```csharp [assembly: AssemblyVersion("1.2.*")] [assembly: AssemblyFileVersion("1.2.*")] ``` `*`在这里代表默认值,通常表示内部版本号或修订号。每次编译时...
6.9.3从版本库删除,但是不删除本地 6.10 忽略提交 7. Git 的基本使用02-TortoiseGit 操作本地仓库(分支) 7.1 分支的概念 7.2 为何要使用分支 7.3 创建分支 7.4 分支的查看切换 7.4.1查看分支 7.4.2切换分支 7.5 分支...
Git-revision-webpack-plugin是一个非常有用的Webpack插件,它可以在构建过程中自动生成VERSION和COMMITHASH文件,这些文件包含了Git的版本号和提交哈希值。这样可以帮助我们了解项目的精确构建状态,尤其是在部署多...
### Git远程版本库Idea详解 #### 一、概述 Git是一种分布式版本控制系统,它能够高效地处理从小到大的项目版本管理以及多线程开发工作。对于开发者来说,掌握如何在IntelliJ IDEA中配置并使用Git是非常重要的技能...
- 修改`P:\git\gitblit-1.8.0\gitblit.cmd`文件中的Java命令行参数。 - 修改`P:\git\gitblit-1.8.0\authority.cmd`文件中的Java命令行参数。 - **运行授权服务**:双击`authority.cmd`启动授权服务,按提示操作...
- **版本库**:位于工作区中的隐藏目录 `.git`,存储版本控制信息。 - **暂存区**:工作区内的重要组成部分,用于临时存放准备提交至版本库的文件修改内容。 3. **添加文件至版本库**: - 在工作区内创建新文件...
1. **添加文件**: 在项目中对需要提交的文件右键,选择“Git” -> “Add”,这样选中的文件会被添加到暂存区。 2. **提交更改**: 在IDEA右下角打开“Version Control”视图,点击“Commit”按钮,输入提交信息后点击...
Git-2.41.0.3-64-bit是Git的最新稳定版,版本号表明这是Git的第2.41次重大更新,3代表该版本的小型修正或改进,而64-bit则表示该版本适用于64位操作系统。这个版本可能包含了性能优化、新功能添加以及已知问题的修复...
在描述中提到的"git clone 最新版",通常意味着要获取Git的最新稳定版本。这可以通过访问Git的官方网站或者使用包管理器来实现。对于Windows用户,可以下载类似`Git-2.29.2.2-64-bit.exe`这样的安装程序,这是一个...