bash - 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
有谁知道我如何修复错误并应用二进制差异?
解决方案
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_branch
binary_file_name.dat
HEAD
binary_file_name.dat
HEAD
test_branch
git diff
git diff --full-index --binary HEAD test_branch binary_file_name.dat | git apply
推荐阅读
- laravel - 如何返回到分页页面?
- xcode - 我可以在安装在外置硬盘中的 Xcode 中使用颤振吗?
- data-structures - 为什么我的代码给我“形式参数列表不匹配”?
- python - 使用 Python 为 SAS 数据集生成 JSON 文件
- reactjs - 使用 React 中的 props 将图像和锚标记添加到数组中的元素
- java - 查找数组中的 K 个最小元素
- javascript - Array.map / 过滤一个连续的数组,然后将其重新排序为连续的
- amazon-web-services - 适用于 Amazon Elasticsearch 的 EBS 存储
- google-sheets - Google表格:选择要在查询中选择的列
- pyspark - Pyspark:如何解决复杂的数据帧逻辑加连接