gpt4 book ai didi

libgit2sharp - 如何确定获取的远程引用是否具有较新版本的文件?

转载 作者:行者123 更新时间:2023-12-04 05:05:22 25 4
gpt4 key购买 nike

我对从 HostA 推送到远程的文件 (RemoteTest.txt) 进行了更改。在 HostB 上,我的状态没有最后一次推送。

现在,当我使用“git diff”进入 bash 时,我会看到更改。

$ git diff origin/master head
diff --git a/RemoteTest.txt b/RemoteTest.txt
index 40604b4..b36b5e8 100644
--- a/RemoteTest.txt
+++ b/RemoteTest.txt @@ -1 +1,6 @@

……等等……

我试图在 C# 中获得更改
IEnumerable<string> paths = new List<string>() {@"origin/master", "head"};
TreeChanges tc = repo.Diff.Compare(paths);

但是 tc 显示 0 个变化。这样做的正确方法是什么?

提前致谢。

最佳答案

您需要比较 Tree Commit的s s 由 HEAD 指向和 origin/master引用。

像下面这样的怎么样?

var headTree = repo.Head.Tip.Tree;
var remoteMasterTree = repo.Branches["origin/master"].Tip.Tree;

TreeChanges tc = repo.Diff.Compare(remoteMasterTree, headTree);

注:可选路径列表 Compare重载接受应该包含比较 Trees 中文件的路径(或路径规范) .例如,考虑到您的用例,您可能会通过 new[] { "RemoteTest.txt" }作为方法的第三个参数。

关于libgit2sharp - 如何确定获取的远程引用是否具有较新版本的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com