Xcode 8源代码控制不显示冲突

Des*_*vic 51 git version-control xcode xcode8

在Xcode更新到版本8.0(8A218a)之后,在某些文件发生冲突时才从Xcode中删除git存储库中的更改.我们都在同一个分支机构工作.

只要没有冲突,一切都很完美,我能够提交,拉动和推动.

但我发现每当我们在某些文件中发生冲突时,Xcode就不会再出现冲突了.它只是关闭拉动弹出窗口而不显示冲突解决程序窗口.没有信息或任何东西.我没看到

拉成功

信息.我无法推送我的提交(因为没有拉动更改)获取消息:

确保已从远程存储库中提取所有更改,然后重试

我试过使用终端拉,但是冲突的文件搞砸了git消息,显示我和其他人在这些git消息的同一个冲突文件中的变化.其他人正在处理的文件现在显示为我自己的更改/添加.

我也尝试将git更新到最新版本,目前是2.10.0.也没有运气.

所以我最终删除了我的副本并克隆了最新版本并重新应用了我所做的非常烦人的更改.

有人有解决方案吗?

编辑:以下是使用终端解决方法:

  1. 打开终端并告诉系统Xcode实用程序所在的位置:

    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将"opendiff"设置为全局默认的mergetool:

    git config --global merge.tool opendiff
    
    Run Code Online (Sandbox Code Playgroud)
  3. 手动打开Xcode mergetool并以通常的方式摆脱冲突:

    git mergetool
    
    Run Code Online (Sandbox Code Playgroud)
  4. 保存更改,提交,推送.

Ari*_*gal 1

以下操作序列可解决此问题:

退出Xcode

打开终端并 cd 到项目的文件夹

git checkout - .

git拉

查看 pull 命令的输出。它应该宣布其中一个文件存在冲突。在外部编辑器(不是 Xcode)中打开此文件。该文件现在应该包含描述冲突的特殊标记(它们是由 GIT 添加的)标记如下所示:

<<<<<<< HEAD:file.txt
Hello world
=======
Goodbye
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt
Run Code Online (Sandbox Code Playgroud)

删除标记并解决冲突

git add [文件名]

git commit -m“[文件名]冲突已解决”

git 推送