Git套用错误:无法识别的输入

时间:2018-07-26 15:34:25

标签: git

 git diff 4ee42367 8c650199 > changes2.patch
 git checkout newBranch
 git apply changes2.patch
 error: unrecognized input

当我尝试应用更改时,我会收到错误消息。我在做什么错了?

4 个答案:

答案 0 :(得分:4)

我按照下面的说明解决了这个问题,

  1. git checkout -b new_branch 并提交一些东西
  2. git diff master --no-color > your_patch_file.patch
  3. 使用 NotePad++ 打开“your_patch_file.patch”文件并编辑该文件,例如,
    • 编码 > 转换为 UTF-8
    • 编辑 > EOL 转换 > Unix (LF)
    • 保存文件
  4. git checkout master
  5. git apply your_patch_file_name.patch

或者你可以在 Git Bash 上运行你的 git 命令,可能你不会遇到任何问题。

答案 1 :(得分:1)

默认情况下您是否启用了彩色输出?

如果git diff 4ee42367 8c650199在您的终端上显示为彩色,则颜色代码将输出到补丁文件中

然后git apply将失败,并显示error: unrecognized input

在这种情况下,请尝试使用git diff --no-color

答案 2 :(得分:1)

对于在 Powershell 中运行此表单的用户,here is another post 提供有关编码错误的信息及其发生原因。

如果您只是在寻找答案,您可以编辑您的 powershell 配置文件:

PS> code $profile

并添加

$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'

这可能会导致其他问题,因此使用风险自负。

如果你只想为单个实例运行它,你可以这样做

$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
git diff > change.patch
git checkout otherbranch
git apply change.patch

答案 3 :(得分:0)

万一其他人遇到这个问题:对我来说,Powershell是元凶。在git bash中使用Anentropic的答案会产生一个“良好”(可读)的补丁。