当前位置:   article > 正文

git cherry-pick_git cherry pick 冲突

git cherry pick 冲突

git 在当前分支下提取某个其他分支的某些提交

首先,使用 `git log` 命令查找要合并的分支上的提交;
git log --pretty=format:"%h %s" <分支名> //运行此命令后,将只显示每个提交的哈希值和提交备注。
  • 1

确保你在要将提交合并到的当前分支上

git checkout <当前分支名>
  • 1

使用 git cherry-pick 命令,将特定提交合并到当前分支上

git cherry-pick <提交哈希>

git cherry-pick <A> <B> //A和B都提交

git cherry-pick A..B //从 A 到 B 的所有提交,不包括A

git cherry-pick A^..B //从 A 到 B 的所有提交,包括A
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

解决合并冲突:打开包含冲突的文件,手动编辑文件解决冲突,在编辑文件时,选择保留需要的更改,并删除冲突标记。也可以在vs、vscode、TortoiseGit、sourcetree等软件中进行冲突处理;
解决冲突
使用 git add 命令标记为已解决

git add <冲突文件1> <冲突文件2> ...
  • 1

完成合并

git cherry-pick --continue
  • 1

接下来commit 或skip 结束 cherry-pick状态

git cherry-pick --skip
git cherry-pick --abort
  • 1
  • 2

注意:
  • git add file处理完冲突到git cherry-pick --continue时可能会进入一个vi模式,如果对shell等相关命令不熟的话建议直接输入q退出;
    在这里插入图片描述

也就是说我们在软件中处理完冲突后,不进行addcherry-pick --continue 操作

下图为本地库中无add内容
在这里插入图片描述
而是直接使用git cherry-pick --skipgit cherry-pick --abort 退出cherry-pick模式返回到我们熟悉的正常的提交流程

  • git cherry-pick模式没有退出的情况下是无法使用pull ,push这样的命令与远程交互的。

  • git cherry-pick --skipgit cherry-pick --abort

git cherry-pick 命令用于将一个或多个提交从一个分支应用到另一个分支。有时,在进行 cherry-pick 操作期间可能会出现问题,需要中止或跳过操作。以下是关于 git cherry-pick --skipgit cherry-pick --abort 命令的解释:

  1. git cherry-pick --skip:
    • 当您在进行 git cherry-pick 操作时,如果出现冲突或其他问题,您可以使用 git cherry-pick --skip 命令来跳过当前正在进行的 cherry-pick 操作。
    • 这个命令告诉 Git 不再尝试应用当前的提交,而是跳到下一个提交,如果有的话。
    • 这对于在进行一系列 cherry-pick 操作时,遇到无法解决的冲突或其他问题时很有用。
  2. git cherry-pick --abort:
    • 如果您在进行 git cherry-pick 操作时决定放弃当前操作,可以使用 git cherry-pick --abort 命令。
    • 这个命令将会取消当前正在进行的 cherry-pick 操作,恢复到操作之前的状态。
    • 执行这个命令后,您将回到当前分支上,未应用的提交将保持未变。

这两个命令只在进行 git cherry-pick 操作期间有效,用于管理 cherry-pick 过程中可能出现的问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/936509
推荐阅读
相关标签
  

闽ICP备14008679号