为什么 Git 在交互式变基期间给出 "Unknown command: pick"?
Why does Git give "Unknown command: pick" during an interactive rebase?
我做到了:
git rebase mybranch --interactive
然后我将我的 rebase-todo 文件编辑成这样:
pick aec2c2b Add foo method to bar
edit 8441f4b Do something slightly wrong
pick dabcc80 Do something else correctly
但是当我告诉 Git 实现它时,我得到了:
Unknown command: pick aec2c2b8f9c314f9dddc67a2c71f8be0a27c0fab Add foo method to bar
Please fix this using 'git rebase --edit-todo'.
什么?但是 pick
是一个有效的命令!
为什么会发生这种情况,我该如何解决?
git --version
的输出:
git version 2.8.1.windows.1
我 运行 Windows 10.
由于我与使用 Visual Studio 的开发人员合作,我将我的编辑器配置为将文件保存为带 BOM 的 UTF-8。 Git 不知道如何处理 BOM,所以这就是我收到错误的原因。 (Git 认为我尝试使用命令 BOMpick
而不是 pick
。您可以在我的问题中包含的错误消息中检测 BOM。)
删除 BOM 修复了错误。具体来说,我将其添加到我的 .editorconfig
:
[.git/**]
charset = utf-8
因为在文件的顶部它已经有了这个:
[*]
charset = utf-8-bom
我做到了:
git rebase mybranch --interactive
然后我将我的 rebase-todo 文件编辑成这样:
pick aec2c2b Add foo method to bar
edit 8441f4b Do something slightly wrong
pick dabcc80 Do something else correctly
但是当我告诉 Git 实现它时,我得到了:
Unknown command: pick aec2c2b8f9c314f9dddc67a2c71f8be0a27c0fab Add foo method to bar
Please fix this using 'git rebase --edit-todo'.
什么?但是 pick
是一个有效的命令!
为什么会发生这种情况,我该如何解决?
git --version
的输出:
git version 2.8.1.windows.1
我 运行 Windows 10.
由于我与使用 Visual Studio 的开发人员合作,我将我的编辑器配置为将文件保存为带 BOM 的 UTF-8。 Git 不知道如何处理 BOM,所以这就是我收到错误的原因。 (Git 认为我尝试使用命令 BOMpick
而不是 pick
。您可以在我的问题中包含的错误消息中检测 BOM。)
删除 BOM 修复了错误。具体来说,我将其添加到我的 .editorconfig
:
[.git/**]
charset = utf-8
因为在文件的顶部它已经有了这个:
[*]
charset = utf-8-bom