首页 > 其他 > 详细

git cherry pick教程

时间:2020-08-23 10:12:03      阅读:84      评论:0      收藏:0      [点我收藏+]

于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。

这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。

cherry-pick

假如现在有两个分支v1.0,v1.1。
v1.0有如下commit:

commit 4d3b38f3e6b9f49776f6e2d2861f0425e10df8d6 (HEAD -> v1.0)
Author: bin <bininhere@163.com>
Date:   Tue Mar 19 10:33:43 2019 +0800

    feature5

commit 65ad383c977acd6c7e7bed486bbf3631851a9eda
Author: bin <bininhere@163.com>
Date:   Tue Mar 19 10:30:44 2019 +0800

    feature4

commit a2a438f2652166f13a6a2aa36f447968fff3b15d
Author: bin <bininhere@163.com>
Date:   Tue Mar 19 10:30:09 2019 +0800

    feature3

现在v1.1需要合并feature4的功能,但不能合并feature3,feature5,怎么办?
把代码复制过来吗?不!用cherry-pick

git cherry-pick  65ad383c977acd6c7e

如果文件有冲突,cherry-pick 会中断,
你解决冲突后,使用git add添加冲突文件,使用git cherry-pick --continue完成cherry-pick操作。
或者使用git cherry-pick --abort中断操作。

如果你cherry-pick的是别人分支的commit,可能会遇到错误fatal: bad object ...,那是因为git cherry-pick是本地特性,本地要有这个commit才可以被git cherry-pick。如果没有这个commit id,就会出现这个错误。


http://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html
 

git cherry pick教程

原文:https://www.cnblogs.com/youxin/p/13548182.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!