我想知道如何使 PyCharm 的 VCS(即 Git)与 Jupyter Notebook 文件一起使用。 即使更改 1 个 loc 也会导致在提交期间检测到 3 个修改: 抱歉,如果重复,但我没有找到类似的内容。
嗯,我不会说当前对 Jupyter Notebook 文件版本控制的支持根本不起作用。您可以在自己的屏幕截图中看到检测到您的更改。 我们不会解析所有更改以仅检测源代码更改。 即使我们这样做了,许多人实际上想要跟踪输出,因为例如在数据科学中,结果并不总是可重复的,您可能想要跟踪输出以及 src。
虽然可以通过实现以下功能来增强https://youtrack.jetbrains.com/issue/PY-20132,这将允许提交所有更改,但只能看到源代码的更改,所以请随意点赞并发表评论。
我使用 Pycharm 社区版。我喜欢 Pycharm 与 git 集成的方式,它的 VCS 直观地显示差异。然而,对于 jupyter 笔记本文件,差异很难直观地跟踪。运行单元会带来各种变化。
笔记本文件通常像文本文件一样进行比较。我使用一种简单的方法来增强视觉质量。我为 *.ipynb
文件创建了一个新的文件类型
Settings>Editor>File Types。我启用了所有类型括号的匹配。我添加了几个关键字,
关键字1:
"outputs"
"source"
关键词2:
"code"
"markdown"
这种突出显示的格式显示在 Pycharm VCS 中,使我们能够轻松找到代码和 Markdown 单元格和输出中的更改。此效果的示例如下 所示。现在,我们不需要担心执行计数或元数据的变化。
这是一种有点hacky的方式,我刚刚弄清楚,如何VCS Jupyter Notebooks,但是您可以使用
Refactor > Convert to Python File
将.ipynb
转换为.py
,然后提交新文件。
可以使用
Convert to Jupyter Notebook
以同样的方式反转。
所以我会将
*.ipynb
放入 .gitignore
,然后仅使用 VCS *.py
文件,并根据需要“解压/重新打包”笔记本文件。
PS:我有Pyharm 2024.1.1