使用libgit2sharp我从两个用户合并更改:LibGit2Sharp如何解决冲突?
public void Merge(string branchName)
{
using (Repository repo = new Repository(this._settings.Directory))
{
var branch = repo.Branches[branchName];
MergeOptions opts = new MergeOptions() { FileConflictStrategy = CheckoutFileConflictStrategy.Merge };
repo.Merge(branch, this._signature, opts);
if (repo.Index.Conflicts.Count() > 0)
{
//TODO: resolve conflicts
}
}
}
即使策略设置为合并conflics仍然会出现。我找不到解决冲突的办法。冲突对象没有解析方法。
除了删除文件或重命名文件之外,是否有解决代码冲突的方法?有没有自动解决功能?
谢谢你的帮助!
合并冲突要么必须手动解决,要么需要用'theirs'或'our'样式合并签出来覆盖文件。这与您通过CLI使用'git merge xxxx'必须执行的相同。 – SushiHangover
@RobertN感谢您的重播。这是否意味着我必须找到冲突的文件,读取文件的主体内容,以某种方式找到冲突的部分,用他们或我们的替换它,将内容写入磁盘并再次调用合并? –
其他人写了一个答案,但关于你的评论,一旦你纠正/修复了冲突的文件,你将分阶段提交它们,因为你的本地回购仍然处于'合并'状态 – SushiHangover