我做了:
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。
答案 0 :(得分:0)
由于我与使用Visual Studio的开发人员合作,因此我将编辑器配置为将文件保存为带有BOM的UTF-8。 Git不知道如何处理BOM,所以这就是我收到错误的原因。 (Git认为我尝试使用命令BOMpick
而不是pick
。您可以在我的问题中包含的错误消息中检测到BOM。)
删除BOM修复了错误。具体来说,我将此添加到我的.editorconfig
:
[.git/**]
charset = utf-8
因为在文件的顶部它已经有了这个:
[*]
charset = utf-8-bom