首页 > 解决方案 > Git应用二进制文件差异。“补丁不适用”错误

问题描述

我在 test_branch 中修改了一个二进制文件,然后在另一个分支中做了:

git diff --full-index --binary test_branch binary_file_name.dat | git apply

但是,我收到以下错误:

error: the patch applies to 'binary_file_name.dat' (e4d7fc486a4ddd1638445449c5bfcec760b23c7f), which does not match the current contents.
error: binary_file_name.dat: patch does not apply

有谁知道我如何修复错误并应用二进制差异?

标签: bashgitgithubbinarydiff

解决方案


git diff --full-index --binary test_branch binary_file_name.dat相当于git diff --full-index --binary test_branch HEAD binary_file_name.dat。diff 表示对另一个分支 ( )的更新binary_file_name.dat的更改。但是您现在在另一个分支上,这意味着当前已经是更新版本。所以交换和输入,它会按预期工作。test_branchbinary_file_name.datHEADbinary_file_name.datHEADtest_branchgit diff

git diff --full-index --binary HEAD test_branch binary_file_name.dat | git apply

推荐阅读