2016-04-16 64 views
1

我想要執行相當於git checkout -- file的操作,以放棄尚未提交的文件中的更改。LibGit2Sharp CheckoutPaths()在不指定分支的情況下還原文件

我看過how to checkout from a specific commit附近的問題,但我不想指定任何特定的提交或分支。

在以下代碼中,commitishOrBranchSpec的參數似乎是必需的,但不能爲空或空字符串;是否有一個值可以在這裏指定,表示default,類似於缺少在上面的git命令行中指定任何分支或提交?

using (var repo = new Repository(workingDir)) 
{ 
    // $TODO: Figure out what to pass for parameter 1, 
    // commitishOrBranchSpec (null and "" don't work) 
    repo.CheckoutPaths("", Enumerable.Repeat(filePath, 1)); 
} 

回答

0

我已經看到了圍繞着如何從一個特定的提交檢出的問題,但是我不想指定任何具體承諾或分支機構。

您必須指定要結帳的內容。如果你想效仿git checkout -- file,那麼你可以簡單地使用HEAD分支。例如:

repo.checkoutPaths(repo.Head, new string[] { filePath }, checkoutOptions); 
+1

感謝 - 看起來像'repo.Head.FriendlyName'(最終成爲字符串'主'在這種情況下),是成功的。 –

相關問題