为什么 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
问题解决了。
很多时候,我的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
问题解决了。