cherry-pick基础用法
git cherry-pick 125a1d 将提交125a1d应用于当前分支. 在当前分支会产生一个新的提交.
git cherry-pick bugfix 将分支bugfix应用于当前分支. 在当前分支会产生一个新的提交.
**场景1:提交
125a1d
应用到
master
分支**
1. git checkout master
2. git cherry-pick 125a1d
8.2 cherry-pick多个提交
git cherry-pick 125a1d 125a2a 支持一次转移多个提交
git cherry-pick A..B 转移一系列的连续提交(不包含A),提交A必须早于提交B,否则命令将失败,但不会报错
git cherry-pick A^..B 转移一系列的连续提交(包含A)
8.3 Cherry-pick配置项
git cherry-pick 125a1d -e 打开外部编辑器,编辑提交信息(-e,--edit)
git cherry-pick 125a1d -x 在提交信息的末尾追加一行(cherry picked from commit ...),方便以后查到这个提交是如何产生的
git cherry-pick 125a1d -s 在提交信息的末尾追加一行操作者的签名,表示是谁进行了这个操作(-s,--signoff)
git cherry-pick 125a1d -n 只更新工作区和暂存区,不产生新的提交(-n,--no-commit)
git cherry-pick -m1 125a1d 如果125a1d是一个合并节点,那么Cherry pick将失败,因为它不知应该采用哪个分支的代码变动。
-m告诉Git采用哪个分支的变动。1号父分支是接受变动的分支,2号父分支是作为变动来源的分支
8.4 cherry-pick过程中代码冲突
cherry pick操作过程中发生代码冲突,Cherry pick会停下来,让用户决定如何继续操作
1. 用户解决代码冲突
2. git add . 将修改的文件重新加入暂存区
3. git cherry-pick --continue 让 cherry pick 过程继续执行
git cherry-pick --abort 发生代码冲突后,退出Cherry pick,回到操作前的样子
git cherry-pick --quit 发生代码冲突后,退出Cherry pick,但是不回到操作前的样子
8.5 Cherry-pick到另一个代码库
1. git remote add target [email protected]/testGit.git 1. 添加了一个远程仓库target
2. git fetch target 2. 远程代码抓取到本地
3. git log target/master 3. 获取要从远程仓库转移的提交"12fefsas"4. git cherry-pick "12fefsas"4. 进行cherry-pick
参考: git cherry-pick 教程
拓展:Git常用命令汇总
标签:
git
本文转载自: https://blog.csdn.net/weixin_37646636/article/details/131446895
版权归原作者 张紫娃 所有, 如有侵权,请联系我们删除。
版权归原作者 张紫娃 所有, 如有侵权,请联系我们删除。