为什么 git cherry-pick 留下未提交的更改以非零退出

Why git cherry-pick leaves uncommitted changes exits with non-zero

很多时候,我的git是这样的:

 A <- B <- C <- D <- E <- HEAD

碰巧我需要在B的基础上创建一个新的分支,并且只需要在D中进行更改。这是我执行的命令:

git checkout B -q -f -b release
git cherry-pick D

cherry pick 命令以代码 53 退出,并在分支 release 中未提交 D 中的所有更改。

更多信息:这在 Windows 下。上面的命令是我在 PowerShell 下 运行 发布过程的一部分。当我在 Git Bash 中执行相同的过程时,cherry pick 工作得很好。这是(又一个)EOL 问题吗?我尝试添加 -Xignore-all-space 但错误仍然存​​在。

上下文:作为我发布过程的一部分,我选择了一个截止提交(例如 B),修改版本文件以包括构建时间、发布作者等。就在我可以提交我的版本控制之前更改,其他人引入 commit C。当我提交我的版本控制更改时,它变成 D。我上面的发布过程是为了确保二进制文件是用 A <- B <- D 编译的。我怎样才能让它顺利发生?

问题出在我的 PATH 变量上。我把它设置成:

set PATH=%PATH%;"C:\Program Files (x86)\Git\mingw32\bin"

我改为:

set PATH=%PATH%;C:\Program Files (x86)\Git\mingw32\bin

问题解决了。