java索引ref_java – 如何使用jgit库将git HEAD指向特定的ref?
我想以编程方式更新HEAD而不对非裸仓库执行checkout或rebase.
我希望工作树和索引在操作后保持不变.
编辑
我需要更新HEAD的符号目标,而不是HEAD当前目标的提交ID.这更像是一个结账,而不是其他任何东西,除了我不能使用org.eclipse.jgit.api.CheckoutCommand因为它需要我更新路径,但我不想触摸工作树. org.eclipse.jgit.api.CreateBranchCommand也不合适,因为它需要一个特定的起点,因为我正在创建一个孤儿分支,所以它不存在.
解决方法:
例:
Result updateHead(
Repository repo, String newHead, boolean force, boolean detach
) throws IOException {
RefUpdate refUpdate = repo.getRefDatabase().newUpdate(Constants.HEAD, detach);
refUpdate.setForceUpdate(force);
return refUpdate.link(newHead);
}
答案隐藏在jgit源代码中的大约5个位置.
jgit v2.0.0.201206130900-r中的三个api命令为您更新HEAD:clone,checkout和rebase.如果适用,请使用其中之一.
这些都不适用:checkout和rebase会改变工作树和索引.
希望发布这个问题和答案将节省其他人我花在它上面的时间.
标签:jgit,java,git
来源: https://codeday.me/bug/20190826/1727080.html
java索引ref_java – 如何使用jgit库将git HEAD指向特定的ref?相关推荐
- java中引用jgit_JAVA使用jgit编写的git客户端
pom中引入依赖 org.eclipse.jgit org.eclipse.jgit 5.1.3.201810200350-r true 编写java文件 import java.io.File; i ...
- java 清空控制台_利用原生库和JNI(Java原生接口)实现H2数据库漏洞利用
在H2数据库引擎中获取代码执行权限的技术早已是众所周知,但有个要求就是H2能够动态编译Java代码.而本文将向大家展示以前没有公开过的利用H2的方法,并且无需使用Java编译器,即通过原生库和JNI( ...
- java常见证书类型和密钥库类型
一 .证书类型 1>证书概念: 证书是对现实生活中 某个人或者某件物品的价值体现 比如古董颁发见证书 ,人颁发献血证等 通常证书会包含以下内容 证书拥有者名称(CN),组织单位(OU)组织(O) ...
- 对Java初学者来说,到底Java有哪些高效的开源库?
我们都知道,Java编程语言具有强大的开源的数据库,这些数据库很大程度上在工作过程中为程序员们提供很大的帮助.但是,对于很多零基础来学Java的新手来说,到底Java有哪些高效的开源库,可以让他们更好 ...
- java mysql多媒体积件管理库的开发与应用源码+论文
下载地址:https://mp.csdn.net/mp_download/manage/download/UpDetailed 项目介绍 java mysql多媒体积件管理库的开发与应用源码+论文 系 ...
- android调用 qt so文件路径,Android Java调用Qt写的so库
有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用.这样人家反编译你的apk,就知道你侵犯了人家的版权.为了达到混淆的目的,我们可以 ...
- documents4j:Java文档格式转换开发库
为什么80%的码农都做不了架构师?>>> http://hao.jobbole.com/documents4j/ documents4j:Java文档格式转换开发库 docum ...
- java计算机毕业设计教师招聘考试题库系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计教师招聘考试题库系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计教师招聘考试题库系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构 ...
- java毕业设计软考在线题库系统mybatis+源码+调试部署+系统+数据库+lw
java毕业设计软考在线题库系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计软考在线题库系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S ...
最新文章
- 重新编号_武汉黄陂公交线路PW、PG、PZ……分不清?别急,就要重新编号啦
- iOS微博web网页出现的天坑 (斗鱼App 当前版本5.600有这个bug)
- 优化MySQL数据类型——《深究MySQL》
- FFMPEG解码264文件步骤
- 7-2 作业调度算法--短作业优先 (30 分)(思路+详解+vector容器做法)Come Baby!!!!!!!!!!!
- Sublime Text安装格式化xml的插件
- vue - cli 脚手架安装
- 程序员外包避坑指南?
- 11个JavaScript颜色选择器插件
- 初识数据流 bit byte char三者的区别 java
- 鸿蒙OS电脑体验,华为鸿蒙OS体验抢先曝光!有多个更新版本,界面和安卓完全不同...
- php配合jade使用,详解基于模板引擎Jade的应用
- 1 常用Windows命令大全
- 放射性核废料处理matlab模型,放射性废物处理问题
- undefined reference to `sqlite3_column_table_name‘
- 用python计算2+4+6+…+20的值_Day4-Python-循环和分之学习-2018/7/19
- Easy connect不能访问公网/外网/网页
- KubeSphere 3.3.0 离线安装教程
- comsol通直流电_COMSOL 在电力行业中的 10 种实际用途
- delphi random_Delphi 7 中的随机函数