我正在使用工具TFS,在执行拉取请求时,它将告诉您需要合并的文件和差异。 使用Libgit2sharp(我认为),我使用以下命令进行了相同的操作:
string mergeIntoReleaseBranch = "Release_XYZ";
string branchToBeMerged = "MyFeature1";
TreeChanges treeChanges = repository.Diff.Compare<TreeChanges>(repository.Branches[mergeIntoReleaseBranch].Tip.Tree, repository.Branches[branchToBeMerged].Tip.Tree);
但是我有时会看到libgit2sharp会返回比TFS更多的差异。 TFS正在删除将自动合并的项目。通过将release分支合并到我的功能(git checkout MyFeature1 ; git merge Release_XYZ ; git push
)中,然后重新运行libgit2sharp代码,可以删除这些多余的项。
如何获取给定两个分支的需要合并的文件列表;删除将自动合并的项目。 (这是否需要了解TFS在幕后的工作方式?)