如何在命令行中使用PyCharm作为GIT差异工具?

14

PyCharm帮助网站上,我看到可以使用PyCharm作为命令行的diff工具来比较两个文件。这很棒!不过有没有办法进一步将其用作 git diff 工具。

这样,我只需键入 pycharm diff file_name.py 就可以像在 PyCharm 上设置了 GIT 集成并按下 CTRL + D 查看差异时一样获取 GIT 差异。

1个回答

15

可以做到。

首先需要启用命令行启动器:

要启用从命令行调用PyCharm操作,请按照以下步骤进行:

  • macOS UNIX 上:

    1. 确保PyCharm正在运行。
    2. 在主菜单中,选择工具|创建命令行启动器。对话框创建启动器脚本打开,其中包含建议的启动器脚本路径和名称。 您可以接受默认值,也可以指定自己的路径。注意下路径和名称,稍后会用到。
    3. 在PyCharm之外,将启动器脚本的路径和名称添加到您的路径中。
  • Windows 上:

    1. Path 系统环境变量中指定PyCharm可执行文件的位置。在这种情况下,您将能够从任何目录调用PyCharm可执行文件和其他PyCharm命令。

https://www.jetbrains.com/help/pycharm/running-pycharm-as-a-diff-or-merge-command-line-tool.html

然后将以下行添加到您的~/.gitconfig文件中:

[diff]
        tool = pycharm
[difftool "pycharm"]
        cmd = /usr/local/bin/charm diff "$LOCAL" "$REMOTE" && echo "Press enter to continue..." && read
[merge]
        tool = pycharm
[mergetool "pycharm"]
        cmd = /usr/local/bin/charm merge "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
        keepBackup = false

(对于 Windows 用户,这些细节可能会稍有不同)


3
提醒所有人,Jetbrains Toolbox 接管命令行工具的工作,并选择将 charm 脚本重命名为 pycharm - dlamblin
1
这也允许您将Pycharm用作git merge工具,使用git mergetool -- /my/unmerged/file - Noumenon
1
@Noumenon 确实,这是我主要使用它的方式!我只希望它启动不那么慢,并且不必为每个合并冲突中的单个文件关闭和重新打开... - Anentropic
我使用Pycharm作为我的Git客户端来进行所有的合并和变基,即使是针对Java。这个技巧仅适用于其他人提交但未完成合并的文件。 - Noumenon
这里是相关文档,可以了解.gitignore文件语法:https://git-scm.com/docs/git-config#_configuration_file。 - LoneCodeRanger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接