假设我有一个包含两个文件的回购:


source.py

def foo() -> int:
    return 1

conflict.py

from source import foo

def bar() -> int:
    return foo()

现在,我创建并try 解决合并冲突:


conflict.py

from source import foo

def bar() -> float:
    return foo()

我得到了预期的对话框并能够解决冲突:

Resolve merge conflict


现在,我如何判断代码并判断实际的返回类型foo()

合并冲突解决窗口固定在顶部.Command/ctrl+单击foo()不起作用.即使打开我的repo的第二个克隆也无法逃脱这种侵入性行为.

这种行为在MacOS和Windows上是相同的.我使用的是PyCharm 2022.2.3专业版.

推荐答案

有一个解决方法-已确认适用于版本2022.3 Professional2023.3 Professional.

引用Dirk Moebius在Dino Letic链接的thread人中的话:

我刚发现有一种方法可以绕过模式对话框 完全是,但这并不明显:

当在合并过程中打开"冲突"对话框时,不要按"合并", 改为按"关闭"按钮.则将显示合并冲突 在"提交"选项卡中名为"合并冲突"的部分.

"合并冲突"部分有一个链接"解决...",但不要点击 这只会再次打开相同的模式对话框.相反,对于每个 冲突的文件,右击它并 Select "合并..."从 上下文弹出菜单.这将再次打开合并对话框,但这 时间它只适用于选定的文件,并且它不是模式!你可以的 切换回IDE主窗口并判断和编辑其他文件 那里.您可以在第二个监视器上移动合并对话框并操作 两个窗口同时打开!

在解决了该文件的合并对话框中的所有冲突后, 或者点击"应用",或者点击链接"保存更改并完成" 在出现的弹出窗口中合并.这两个操作都只是解析 与当前文件冲突.(案文"...并完成合并"为 在这里具有误导性,因为它实际上并没有完成合并 只要还有其他冲突.)

对每个文件重复这些步骤,直到所有冲突都得到解决.

我使用的是IntelliJ IDEA 2021.2.3企业版.不知道其他人是否 版本支持这种工作流.


100

关闭拉入后出现的冲突解决提示.

Conflict prompt


100

右键单击要解析的文件,然后 Select Merge.不要试图通过 Select 蓝色Resolve文本来解决此问题,这将打开前面的提示,从而导致出现问题模式.取而代之的是单独解析文件.

Conflict menu

Conflict dropdown


100

现在,您可以在判断代码的同时解决冲突.

Python相关问答推荐

返回nxon矩阵的diag元素,而不使用for循环

使用新的类型语法正确注释ParamSecdecorator (3.12)

将jit与numpy linSpace函数一起使用时出错

重新匹配{ }中包含的文本,其中文本可能包含{{var}

Gekko:Spring-Mass系统的参数识别

删除任何仅包含字符(或不包含其他数字值的邮政编码)的观察

将图像拖到另一个图像

Python键入协议默认值

使用setuptools pyproject.toml和自定义目录树构建PyPi包

在极性中创建条件累积和

如何并行化/加速并行numba代码?

Python中的变量每次增加超过1

我的字符串搜索算法的平均时间复杂度和最坏时间复杂度是多少?

如何在FastAPI中为我上传的json文件提供索引ID?

如何从列表框中 Select 而不出错?

不允许 Select 北极滚动?

如何合并具有相同元素的 torch 矩阵的行?

使用Scikit的ValueError-了解

来自任务调度程序的作为系统的Python文件

Pandas ,快速从词典栏中提取信息到新栏