intellij-idea - 使用 SVN 在 intellij IDEA 中与相同的新创建目录合并冲突
问题描述
背景:
我们使用最新的 IntelliJ IDEA 2019.3.3(终极版)和 SVN 作为存储库。
问题:
如果两个人在他们的本地结帐中创建一个具有自己内容的新目录并想要提交这些文件,那么第二个提交者就会发生冲突。到目前为止这很好。结果如下:Intellij 仅提供“接受你的”或“接受他们的”选项,但不提供合并选项。
为什么?
如果我们接受“他们的”版本,我们将用他们的版本“替换”(稍后在“受影响的文件概述”中宣布)我们的整个目录并自动删除我们的内容,如果我们使用“你的”版本,我们将完全接受我们的版本,但删除“他们的”提交的所有内容文件。在这种情况下,我们需要的是合并到一个目录并接受两个内容的选项。
有没有其他方法可以解决这个问题并接受两个目录内容?
例如:
用户 1 提交包含以下内容的新目录:
sameDirectory
|- UserOneFileOne.java
用户 2 提交具有相同名称但具有自己的内容但有冲突的新目录:
sameDirectory
|- UserTwoFileOne.java
结果接受“他们的”版本:
sameDirectory
|- UserOneFileOne.java
结果接受“你的”版本:
sameDirectory
|- UserTwoFileOne.java
期望的结果:
sameDirectory
|- UserOneFileOne.java
|- UserTwoFileOne.java
解决方案
IntelliJ 依赖于命令行 svn 客户端,而 svn 不支持这种合并。这是一个树冲突,要解决它,必须接受一个树枝或另一个
如果您同意这一举动,那么您的 bar.c 就是多余的。您需要删除它并将树冲突标记为已解决。但是等等:您对该文件进行了更改!在删除 bar.c 之前,您需要确定您对其所做的更改是否需要应用到其他地方,例如应用到 bar.c 的所有代码现在所在的新 baz.c 文件。让我们假设您的更改确实需要“跟随移动”。Subversion 不够聪明,无法为您完成这项工作[10],因此您需要手动迁移更改。
http://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.html
推荐阅读
- python - 无法为 Selenium 会话设置代理
- jquery - 在页脚工具栏上带有 MENUTOOLBAR 和 Listbox 的 Jqgrid
- c - 如何使 Python.h 文件在 Ubuntu 中工作?
- java - 如何将具有多个相同键和列表的多个地图组合为值?
- php - 安装后 GD 库仍然丢失
- php - 注册成功后跳转到首页
- kubernetes - ERR_TOO_MANY_REDIRECTS 302 与 ELK Operator 7.10.0 使用 Server.basePath
- java - 检查项目的 Maven 构建生命周期的特定阶段的目标
- json - 是否有用于自动刷新 JSON 展平过程的原生雪花功能?
- python - matplotlib 为不同的子图设置定位器