在 ObjectiveGit(它是 libgit2 的一个客观 c 包装器)中,当我遇到无法自动解决的文件冲突时(这通常意味着我有一个本地提交和远程提交都更改了文件的同一行),然后我可以使用内置方法枚举冲突文件-[GTIndex enumerateConflictedFilesWithError:usingBlock:]
。但是,一旦我知道有冲突的文件,我就无法弄清楚如何解决它。即使我选择硬编码以保留我们的版本,而不是他们的版本,当我将它添加到索引-[GTIndex addEntry:error:]
时,repo 中似乎没有任何变化并且冲突仍然存在。我发现使用-[GTIndex addFile:error:]
和传递与 OUR 值关联的路径会添加文件并解决冲突,但它会添加带有 GIT 注释的文件,例如<<<<<<<<< HEAD
保留本地和远程更改。这些破坏了文件。
有谁知道我该如何解决冲突?
和这里(相同的文件,不同的行): https ://github.com/jeffreybergier/Hipstapaper/blob/cf1c81cdf38871ad1f5d926faeb9ea64e992f22e/Hipstapaper/Sync_shared/SyncDirectory.swift#L102