我想以编程方式更新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?相关推荐

  1. java中引用jgit_JAVA使用jgit编写的git客户端

    pom中引入依赖 org.eclipse.jgit org.eclipse.jgit 5.1.3.201810200350-r true 编写java文件 import java.io.File; i ...

  2. java 清空控制台_利用原生库和JNI(Java原生接口)实现H2数据库漏洞利用

    在H2数据库引擎中获取代码执行权限的技术早已是众所周知,但有个要求就是H2能够动态编译Java代码.而本文将向大家展示以前没有公开过的利用H2的方法,并且无需使用Java编译器,即通过原生库和JNI( ...

  3. java常见证书类型和密钥库类型

    一 .证书类型 1>证书概念: 证书是对现实生活中 某个人或者某件物品的价值体现 比如古董颁发见证书 ,人颁发献血证等 通常证书会包含以下内容 证书拥有者名称(CN),组织单位(OU)组织(O) ...

  4. 对Java初学者来说,到底Java有哪些高效的开源库?

    我们都知道,Java编程语言具有强大的开源的数据库,这些数据库很大程度上在工作过程中为程序员们提供很大的帮助.但是,对于很多零基础来学Java的新手来说,到底Java有哪些高效的开源库,可以让他们更好 ...

  5. java mysql多媒体积件管理库的开发与应用源码+论文

    下载地址:https://mp.csdn.net/mp_download/manage/download/UpDetailed 项目介绍 java mysql多媒体积件管理库的开发与应用源码+论文 系 ...

  6. android调用 qt so文件路径,Android Java调用Qt写的so库

    有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用.这样人家反编译你的apk,就知道你侵犯了人家的版权.为了达到混淆的目的,我们可以 ...

  7. documents4j:Java文档格式转换开发库

    为什么80%的码农都做不了架构师?>>>    http://hao.jobbole.com/documents4j/ documents4j:Java文档格式转换开发库 docum ...

  8. java计算机毕业设计教师招聘考试题库系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计教师招聘考试题库系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计教师招聘考试题库系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构 ...

  9. java毕业设计软考在线题库系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计软考在线题库系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计软考在线题库系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S ...

最新文章

  1. 重新编号_武汉黄陂公交线路PW、PG、PZ……分不清?别急,就要重新编号啦
  2. iOS微博web网页出现的天坑 (斗鱼App 当前版本5.600有这个bug)
  3. 优化MySQL数据类型——《深究MySQL》
  4. FFMPEG解码264文件步骤
  5. 7-2 作业调度算法--短作业优先 (30 分)(思路+详解+vector容器做法)Come Baby!!!!!!!!!!!
  6. Sublime Text安装格式化xml的插件
  7. vue - cli 脚手架安装
  8. 程序员外包避坑指南?
  9. 11个JavaScript颜色选择器插件
  10. 初识数据流 bit byte char三者的区别 java
  11. 鸿蒙OS电脑体验,华为鸿蒙OS体验抢先曝光!有多个更新版本,界面和安卓完全不同...
  12. php配合jade使用,详解基于模板引擎Jade的应用
  13. 1 常用Windows命令大全
  14. 放射性核废料处理matlab模型,放射性废物处理问题
  15. undefined reference to `sqlite3_column_table_name‘
  16. 用python计算2+4+6+…+20的值_Day4-Python-循环和分之学习-2018/7/19
  17. Easy connect不能访问公网/外网/网页
  18. KubeSphere 3.3.0 离线安装教程
  19. comsol通直流电_COMSOL 在电力行业中的 10 种实际用途
  20. delphi random_Delphi 7 中的随机函数

热门文章

  1. oracle数据库 日志满了
  2. 机器学习理论梳理2 : KNN K近邻分类模型
  3. HDU 最大报销额 (0 1 背包)
  4. Spring boot 中pom.xml 各个节点详解
  5. SPI和RAM IP核
  6. IBM量子计算新突破:成功构建50个量子比特原型机
  7. Lync Server 2013无法共享PPT故障排错处理
  8. Setuptool+pip安装
  9. java中跨时区的日期格式转换
  10. 让Windwos Server 2008 R2 SP1的FTP真正能访问