我想以編程方式更新HEAD,而無需在非裸露的回購庫上執行結賬或兌換。如何使用jgit庫將git HEAD指向特定的引用?
我希望工作樹和索引在操作後不變。
EDIT
我需要更新HEAD的符號目標,而不是提交頭的當前目標的ID。除了我不能使用org.eclipse.jgit.api.CheckoutCommand
,因爲它要求我更新路徑,但我不想觸摸工作樹。 org.eclipse.jgit.api.CreateBranchCommand
也是不合適的,因爲它期望一個特定的起點,因爲我創建了一個孤兒分支,所以這個起點並不存在。
也許要求「更新HEAD」是不正確的術語用法。實際上我創建了一個孤立分支,所以'git reset --soft'不是我想要的。我已經想出瞭如何根據[在jgit-dev列表](http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg01397.html)上的建議創建無父母提交。我創建的無父提交應該已經具有提交樹中工作目錄下的所有文件。我不想要CheckoutCommand,因爲那樣會導致虛假的DirCache更新,或者如果我的提交不正確,我會丟失工作的dir文件。 – willkil