使用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