首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibGit2Sharp CheckoutPaths()

LibGit2Sharp CheckoutPaths()
EN

Stack Overflow用户
提问于 2014-03-07 16:04:41
回答 2查看 1.3K关注 0票数 3

我做了一个承诺(49916.)现在,我想签出提交到工作dir中的一个文件。该文件名为NEW.txt。如果我打字

Git结帐49916 NEW.txt

在Git中,它创建包含工作dir中内容的NEW.txt文件。

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

代码语言:javascript
复制
       var repo = new Repository(repopath);
       var checkoutPaths = new[] { "NEW.txt"};    
       repo.CheckoutPaths("49916", checkoutPaths);

我阅读了我能找到的关于签出路径函数的每一篇文章。但我不能让它起作用。我从LibGit2Sharp签出测试文件中获得了这个函数。

代码语言:javascript
复制
            repo.CheckoutPaths(checkoutFrom, new[] { path });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-07 19:32:48

当你运行那个代码时会发生什么?它是否运行到完成,但工作目录中没有任何更改?如果尝试使用CheckoutModifiers.Force选项签出会发生什么情况?

代码语言:javascript
复制
CheckoutOptions options = new CheckoutOptions { CheckoutModifiers = CheckoutModifiers.Force };
repo.CheckoutPaths("49916", checkoutPaths, options);
票数 7
EN

Stack Overflow用户

发布于 2020-08-21 09:21:54

我已经完成了类似的issue.Code运行,但是工作目录中没有任何变化。原因是我收藏的checkoutPaths

我传递了相对于app目录的文件路径,而不是相对于存储库本身的路径

例如。

错误路径:Repositories/MyRepo/MyFile.txt

正确路径:MyFile.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22254932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档