linux - GIT中的Cherry-pick合并冲突
问题描述
我创建了一个名为 test.txt 的文件。在其中,我从测试文件中的主分支内容进行了两次提交,分别是 1(第 1 次提交)和 2(第 2 次提交),我创建了一个功能分支,在其中我进行了 3 次提交,如下所示 3(第 3 次提交)), 4(第 4 次提交),5(第 5 次提交)。现在总共有 5 个提交,2 个在 master 分支,3 个在 feature 分支。
现在我只需要选择我在功能分支中的第四个提交。当我检查到主分支时,我正在输入git cherry-pick commit-i'd。但它抛出的错误是
git cherry-pick bb87e7b
error: could not apply bb87e7b... Fourth Commit
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'
我感觉到问题出在哪里......主分支没有第三次提交哪个功能分支。所以很明显,主分支中将缺少第三个提交内容。但根据cherry-pick的逻辑,我们应该能够以一种或另一种方式执行此操作。
如果有人知道答案,请详细解释,或者如果您需要任何支持文件来解决此错误,请在此处回复。我会在这里分享。谢谢!
解决方案
嗯......它失败并不是因为第三次提交本身就丢失了。它失败了,因为在提交 4 上引入的更改(在提交 3 上)从与提交 2 中的内容不同的内容开始。在这种情况下,git 不能只是猜测要做什么,这就是你有冲突的原因。所以,照顾好冲突,处理冲突的方式,完成挑选,你就完成了。
推荐阅读
- android - ImageView setColorFilter alpha 丢失
- android - Libgdx 多语言资产
- css - Bootstrap 4 - 全高抽屉
- c++ - 在 cuda 中分配结构数组后变量丢失
- java - 如何解决 WebappClassLoaderBase
- c# - 在集合中的每个实体中包含映射表
- python - opencv中的错误-python3(detectMultiScale)人脸识别
- asp.net-web-api - HTML AntiForgery 令牌不适用于 Angular 5 SPA
- sql - SQLite 中带有嵌套 FROM 和 JOIN 的 UPDATE 语句
- javascript - 谷歌柱形图更改栏颜色未动态设置