【发布时间】:2019-07-19 19:40:16
【问题描述】:
当在 git 中合并或 rebase 两个分支时,其中一个文件已被删除但另一个文件已被修改,git 会产生冲突。 git status 将文件显示为“被我们删除”或“被他们删除”。
我发现很多关于如何解决冲突的问题,包括:
- git - merge conflict when local is deleted but file exists in remote
- How do I fix a merge conflict due to removal of a file in a branch?
但是,大多数答案都假设您已经确切知道冲突是什么,并且只需要告诉 git 保留或删除文件。
您如何找出没有删除的文件版本中发生了什么变化? git 只是将整个文件留在工作副本中,不标记任何更改。
例如:
- 在分支
develop,用户A更改文件foo.x - 在分支
feature上,用户 B 重构代码,删除文件foo.x,因为它的功能现在在其他文件中 - 用户 B 尝试将
develop合并到feature,并得到标记为deleted by us的冲突 - 用户 B 如何查看用户 A 更改了什么,以查看重构代码中是否需要更改?
【问题讨论】: