gpt4 book ai didi

当文件不存在时,git cherry-pick 不显示冲突?

转载 作者:行者123 更新时间:2023-12-04 17:50:34 27 4
gpt4 key购买 nike

我正在从分支 A 中挑选一个提交到分支 B。分支 A 在分支 B 之前有很多提交,我想忽略分支 A 中的一些先前提交并挑选 future 的提交。例如,分支 A 有提交 1、2、3、4、5、6,而分支 B 只有 1、2,我想从分支 A 中挑选提交 6 到分支 B。结果我没有意识到提交6 更改了提交 5 中引入的文件(分支 B 没有)。但是在尝试 6(到分支 B)的 cherry-pick 时,git 没有将提交 5 中引入的文件显示为冲突。当我挑选提交 6 时,我刚刚丢失了对该文件所做的更改。这是预期的吗?我做错了吗?

我运行的命令只是“git cherry-pick

最佳答案

由于提交 6 的路径/文件 src/test/resources/RefreshedJarClassV2.txt 在分支 B 上不存在,当您选择提交 6 到分支 B 时。那里会显示未 merge 的路径,您应该将此路径标记为当前工作目录。详细步骤如下:

如果您已经在分支 B 上选择了提交 6,如下图所示,

1---2---6'          Branch B
\
3---4---5---6 Branch A

您应该通过以下方式将分支 B 重置为原始分支:

git checkout B
git reset --hard <commit id for 2>

然后分支结构看起来像原来的:

1---2               Branch B
\
3---4---5---6 Branch A

现在 cherry-pick 再次提交 6:

git cherry-pick <commit id for 6>
git add .
git cherry-pick --continue

路径和文件src/test/resources/RefreshedJarClassV2.txt将显示在分支B中。

关于当文件不存在时,git cherry-pick 不显示冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45418544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com