Notepad++ 不连接 Git,GitDiff 是用户对“git diff 输出+Compare 插件”流程的俗称;GitPlugin 的 Diff 常因路径、编码、未暂存改动等问题失效;推荐用 Compare 插件手动比对或配置外部工具调用 git diff,备份文件不能替代 Git 历史。

Notepad++ 本身不连接 Git,也不自动同步或记录修改记录;所谓“GitDiff”不是官方插件名,而是用户对「用 Git 命令生成差异、再由 Notepad++ 显示」这一流程的俗称。真正起作用的是 git diff 输出 + Compare 插件 或 手动比对。
为什么 GitPlugin 的 “Diff” 功能常失效或卡死
GitPlugin 调用的是后台 git diff 命令,但默认未指定文件路径和对比范围,容易返回空、超时或乱码;尤其在中文路径、大仓库、未暂存修改(working directory vs index)场景下,它常静默失败,菜单点击无响应。
- 它默认执行的是
git diff --no-color HEAD,只对比暂存区与 HEAD,**忽略工作区未git add的改动** - 若当前文件不在 Git 仓库根目录下(比如打开的是子目录里的单个文件),插件可能找不到 .git 目录,直接报错
fatal: not a git repository - 插件界面不显示原始命令和 stderr,你无法判断是权限问题、路径问题还是 Git 配置问题
用 Compare 插件手动做 Git 差异对比(稳定可靠)
这是最可控的方式:你决定比哪两个版本,Notepad++ 只负责高亮差异。不需要依赖插件解析 Git 输出。
- 先在终端导出旧版本:
git show HEAD~1:src/main.py > main_old.py(注意路径需相对于仓库根) - 在 Notepad++ 中打开当前
main.py和刚生成的main_old.py - 菜单 →
Plugins→Compare→Compare(快捷键Ctrl+Alt+C) - 差异行会用颜色标出,插入/删除/修改一目了然;右键可复制某侧内容、跳转到对应行
⚠️ 注意:git show 只能读已提交版本;若想对比暂存区(staged)和工作区(unstaged),用 git diff --no-color > diff.txt,再把 diff.txt 拖进 Notepad++ 查看原始 patch —— 这才是真正的「修改记录」源头。
在 OpenClaw 中管理 GitHub 仓库、Pull Request、Issue 与工作流。适用于审查 PR、管理 Issue、自动化 GitHub Actions、同步仓库等场景。
配置外部工具一键调用 git diff(免切终端)
Notepad++ 的「外部工具」功能比 GitPlugin 更透明、更易调试,适合日常高频查看改动。
- 设置 →
运行→运行...(或Ctrl+F5) - 填入:
名称:Git diff (working vs staged)
命令:git
参数:diff --no-color "$(FULL_CURRENT_PATH)"
初始目录:$(CURRENT_DIRECTORY) - 勾选「捕获输出」,点击「保存」→ 以后按
F5就弹出输出窗口,看到标准git diff结果 - 如需对比 HEAD 和当前文件,参数改为:
diff --no-color HEAD -- "$(FULL_CURRENT_PATH)"
这个方法绕过了插件封装,错误信息(比如 fatal: path 'xxx' does not exist in 'HEAD')直接可见,改起来快。
备份路径里的时间戳 ≠ Git 修改历史
有人试图从 Notepad++ 自动备份文件(backup_*.txt)里按时间戳还原修改,这是危险操作:这些文件只是崩溃恢复快照,不是 Git 提交,不保证内容一致性,且默认 5 分钟才存一次,中间改动全丢失。
真正要查「谁、什么时候、改了哪几行」,唯一可信来源是 git log --oneline --graph --all 和 git blame -L 10,+5 filename.py。Notepad++ 只能当显示器,不能当数据库。

















