今天我遇到了一个非常奇怪的问题。我合并了两个分支,并期望解决冲突。但是,Android Studio并未暗示这些文件存在冲突。合并后,我发现冲突文件的内容与要合并的两个分支中的一个完全相同。很奇怪。
这里是来自Android Studio的日志,我在分支loginDEMO上,想要将分支dev合并到分支loginDEMO,合并后我发现MyApllication.java
的内容完全相同在分支loginDEMO中,忽略分支开发中的更改。
22:06:21.061: [Chat] git -c core.quotepath=false merge dev
22:06:36.953: [Chat] git -c core.quotepath=false add --ignore-errors -- app/build.gradle
22:09:51.733: [Chat] git -c core.quotepath=false add --ignore-errors -- app/src/main/java/ocm/my/chat/View/LoginActivity.java
22:10:10.143: [Chat] git -c core.quotepath=false add --ignore-errors -- app/src/main/java/ocm/my/chat/MyApplication.java
warning: LF will be replaced by CRLF in app/build.gradle.
The file will have its original line endings in your working directory.
22:10:10.464: [Chat] git -c core.quotepath=false commit -F C:\Users\jiahao\Desktop\code\Chat\.git\MERGE_MSG --
[loginDemo f21ea3d] Merge branch 'dev' into loginDemo
我还发现当地历史MyApplication.java
有这个:
见左侧,HEAD应该指向分支loginDEMO,它像往常一样显示冲突。但Android Studio并没有暗示我应该解决MyApplicaition.java
的冲突。它合并了两个分支,就像MyApplication.java
中两个分支之间没有冲突一样。
那么是什么导致这种后果?