当前位置: 首页 > 工具软件 > pick > 使用案例 >

git: cherry-pick

习胤运
2023-12-01

功能

它可以用于将在其他分支上的 commit 修改,移植到当前的分支

基本用法

1.查看dev分支上的log 需要移植的commitid
$ git log
commit 06b4758442f36ca705a83c3670c72dbd968e6a41 (HEAD -> dev)
Author: = <793127910@qq.com>
Date:   Fri Nov 19 13:36:50 2021 +0800

    feature:增加周设置
 2.切换分支
$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

3. git cherry-pick commitid
$ git cherry-pick  06b4758442f36ca705a83c3670c72dbd968e6a41
[master 36e7a64] feature:澧炲姞鍛ㄨ缃? Date: Fri Nov 19 13:36:50 2021 +0800
 2 files changed, 20 insertions(+), 7 deletions(-)
 
4.查看日志
$ git log master
commit 36e7a645f8f84daceb1988aa4ddd897b00f4f755 (HEAD -> master)
Author: = <793127910@qq.com>
Date:   Fri Nov 19 13:36:50 2021 +0800

    feature:增加周设置


高级用法

1.
git cherry-pick -x <commit_id>
增加 -x 参数,表示保留原提交的作者信息进行提交
2.
需要pick多次提交时,可以一次一次cherry-pick ,但是要按照提交顺序执行
也可以使用区间 (左开, 右闭]  commitid要按提交顺序;不会将需要需要pick的提交合并未一个提交
git cherry_pick <start-commit-id> <end-commit-id>
3.
git cherry_pick <start-commit-id>^ <end-commit-id>
^	[左闭,右闭]

cherry-pick 导致冲突

连续pick多个提交时可能会有多个冲突
<master|cherry-picking>

git status 查看冲突文件
解决冲突
cherry-pick --continue

下一个冲突
。。。

pick全部完成

 类似资料: