我对从 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变化。这样做的正确方法是什么?
提前致谢。
答案 0 :(得分:3)
您需要比较Tree
和Commit
引用所指向的HEAD
的{{1}}。
如下所示:
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
作为第三个参数传递给方法。