我正在使用LibGit2Sharp。如何使用以下参数调用git diff
命令?
git diff --name-status origin/master...HEAD
我知道,git diff A...B
相当于git diff $(git-merge-base A B) B
。
答案 0 :(得分:2)
我找到了解决方案。你可以这样做:
1)获得两个共同的祖先。
2)在树之间获得差异。
var baseCommit = repo.ObjectDatabase.FindMergeBase(repo.Branches["origin/master"].Tip, repo.Head.Tip);
var diff = repo.Diff.Compare<TreeChanges>(baseCommit.Tree, repo.Head.Tip.Tree);