我正在使用JGit的类库用java编写程序。
该类具有方法解析(String)。
基本上,这个methoad解析一个git修改字符串并返回一个对象id。支持这些运算符的具体组合如下:
头部,MERGE_HEAD,FETCH_HEAD 沙-1:完整或缩写的SHA-1 参考文献/.:完整的参考名称 简称:参考文献/标题、参考文献/标签或参考文献/远程名称空间下的短引用名称。 标签-NN-gABBREV:输出的描述,分析的缩写为一个缩写的SHA-1。 id^:提交id的第一个父级,这与id^1相同 id^0:确保id为提交 id^n:提交id的第n个父级 id~n:第一父母的第n个历史祖先。id~3等于id^1^1^1或id^。 id :路径:在由id命名的树下查找路径 id^{ commit }:确保id是commit id^{ tree }:确保id是树 id^{ tag }:确保id是标记 id^{ blob }:确保id是blob
我想用这个方法
Repository repo;
ObjectId commit = repo.resolve("cnfuwfxmiazsdixfnsdiufsdhfiusfhsfisfh^{tree}");
System.out.println(commit );预期产出:
cnfuwfxmiazsdixfnsdiufsdhfiusfhsfisfh输出:
sjakfshdofcsmdfocsdfjdofdjgdhgfdgfhgf
//Output is another commit in project.我想要插入的commit,但它显示了另一个commit。我认为这是因为它是提交id的第一个父级。
有什么方法可以获得与方法resolve()相同的提交id吗?
发布于 2016-06-01 14:53:08
传递给resolve()的表达式请求树id of cnf... (BTW,Git对象ids仅由十六进制字符组成)。这很可能是您得到的,您指定的提交的树id。
若要将字符串转换为JGit ObjectId,请使用
ObjectId objectId = ObjectId.fromString( "..." );https://stackoverflow.com/questions/37570869
复制相似问题