簡體   English   中英

LibGit2Sharp CheckoutPaths()

[英]LibGit2Sharp CheckoutPaths()

我做了一個提交 (49916.....) 現在我想將提交的一個文件簽出到工作目錄中。 該文件名為 NEW.txt。 如果我輸入

Git 結帳 49916 NEW.txt

進入 Git Bash,它創建了 NEW.txt 文件,內容在我的工作目錄中。

但是我的 LibGit2Sharp 命令不想工作。 我究竟做錯了什么?

       var repo = new Repository(repopath);
       var checkoutPaths = new[] { "NEW.txt"};    
       repo.CheckoutPaths("49916", checkoutPaths);

我閱讀了我能找到的關於 checkoutpaths 功能的每篇文章。 但我無法讓它工作。 我從 LibGit2Sharp 結帳測試文件中獲得了該功能。

            repo.CheckoutPaths(checkoutFrom, new[] { path });

當您運行該代碼時會發生什么? 它是否運行完成但工作目錄中沒有更改? 如果您嘗試使用CheckoutModifiers.Force選項結帳會發生什么?

CheckoutOptions options = new CheckoutOptions { CheckoutModifiers = CheckoutModifiers.Force };
repo.CheckoutPaths("49916", checkoutPaths, options);

我有類似的問題。代碼運行完成,但工作目錄中沒有任何變化。 原因是我的checkoutPaths集合。

我已經傳遞了相對於應用程序目錄的文件路徑,而不是相對於存儲庫本身的路徑。

例如

錯誤的路徑: Repositories/MyRepo/MyFile.txt

正確路徑: MyFile.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM