Git cherry-pick 使用 --- Git(3)

git cherry-pick

实际问题

我在master 分支修改了一个bug(一次commit),希望可以在testbranch 也能够进行修改(也就是要把这个bug修改放到testbranch 上)

 

使用 cherry-pick.  根据 git 文档:Apply the changes introduced by some existing commits 。就是对已经存在的commit 进行apply (可以理解为再次提交)

 

简单用法

$ git cherry-pick

这个commit id 我们可以使用git log 查看之前的某一次修改id

$ git log

commit 3f4f283993c5244671f166b6d017b086ac941a1a

Author: zhangxi <********@sina.cn>

Date:   Wed Apr 3 22:41:00 2019 +0800

 

first create readme git cherry-pick

 

$ git cherry-pick 3f4f283993c5244671f166b6d017b086ac941a1a

Git cherry-pick 使用 --- Git(3)_第1张图片

 

出现冲突

git status 查看冲突文件

Git cherry-pick 使用 --- Git(3)_第2张图片

那么是需要对提示的冲突文件进行修改,修改完后

git add readme.txt

git commit

git push origin testbranch

这样子远端的数据就变成了最新修改后的样子了。

 

如果没有冲突

Git cherry-pick 使用 --- Git(3)_第3张图片

 

如果想撤销cherry-pick 可以进行

git cherry-pick --abort

to cancel the cherry-pick option


顺便说一下;

git 删除远程分支:

$ git push origin --delete branchname   //分支名称

 

git 删除本地分支:

$ git branch -d branchname 

 

删除完后通过 git branch –a 查看分支情况

 

你可能感兴趣的:(git)