使用外部 difftool 时 Git diff 创建空补丁

标签 git diff patch

我正在尝试在两次提交之间创建一个差异文件(补丁)。我正在尝试命令

git diff 62fe9db 7661a06 > ~/Desktop/patch

但是创建的文件是空的。当我运行上述命令时,由于我使用 p4merge 作为外部差异工具,p4merge 将打开并显示差异。但是关闭p4merge后,我发现补丁文件是空的。

我做错了什么?

最佳答案

使用 git 创建补丁的语法是 git diff -p <commit> <commit> .

git --help diff文档有一个选项可以删除外部差异工具 -

--no-ext-diff
    Disallow external diff drivers.

这可能会解决您的问题。

关于使用外部 difftool 时 Git diff 创建空补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17114881/

相关文章:

eclipse - 如何在 Windows 上通过 SSH 使用 EGit?

c# - 安全地将补丁应用到 COM+ 应用程序

database - 为数据库创建数据补丁(同步数据库)

git - 意外删除bin文件夹后恢复Gitlab

git - 什么时候应该使用 rm, git rm, git rm --cached, git add

version-control - 针对源代码控制存储库的 vimdiff

vim - 如何干净地编辑差异/补丁文件?有补丁文件编辑器吗?

git 比较分支之间的提交 ID

c# - 如何制作可打补丁/可更新的应用程序?

c++ - 如何告诉git我的本地目录是远程树中的特定目录