Discuss / Git / 请问使用cherry-pick命令前需要切换分支吗

请问使用cherry-pick命令前需要切换分支吗

Topic source

在master分支上修复了bug后,dev分支上也有一个相同的bug,这是使用cherry-pick命令前需要从master切换到dev分支吗?还是直接使用?我是切换到dev后使用的

$ git branch
* dev
  master

dell@LEON MINGW64 ~/learngit (master)
$ git checkout dev
Switched to branch 'dev'

dell@LEON MINGW64 ~/learngit (dev)
$ git cherry-pick 78b81aa
[dev 7133c13] fix bug 101
 Date: Fri Sep 20 16:16:11 2019 +0800
 1 file changed, 1 insertion(+), 1 deletion(-)

显示 

[dev 7133c13] fix bug 101

 在dev分支上修复了这个bug,

但是廖老师的举得例子 

$ git branch
* dev
  master
$ git cherry-pick 4c805e2
[master 1d4b803] fix bug 101
 1 file changed, 1 insertion(+), 1 deletion(-)

怎么显示的又在master上修改了bug ? 求解答

[master 1d4b803] fix bug 101

G梅果果

#2 Created at ... [Delete] [Delete and Lock User]

我也感觉 cherry-pick 这一段讲的有问题

“它并不同于master的4c805e2 ”,应该讲的是“不同于issue-101的4c805e2” 吧,并且commitid 1d4b803 应该是 dev 上的新提交

屁孩pihai

#3 Created at ... [Delete] [Delete and Lock User]

命令解释的很清楚,把指定的修改合并到当前分支,注意“当前分支”,如果要合并到dev,那就要先切换到dev分支

whereMe2020

#4 Created at ... [Delete] [Delete and Lock User]
[master 1d4b803] fix bug 101

文章里的这个应该把master写错了吧,应该是dev

TraZ_

#5 Created at ... [Delete] [Delete and Lock User]

所以,我不知道在dev分支上cherry-pick的节点是在issue-101分支上commit的节点还是merge到master中的那个节点?

这个问题问的感觉完全没搞懂这个cherry-pick的用法 

cherry-pick老师说的很清楚 就是把issue-101 这个分支提交的修改 “复制到” dev这个分支上 就是将两个分支的内容做同步(个人理解)

还有上边说的  4c805e2 关于这个,建议 git log 看一下 issue-001 这个分支提交的时候这个码是什么,pick后边是识别的这个,而不是master什么的

然后就是 要同步分支的内容,那肯定就是要在当前分支下进行cherry-pick...个人理解,也是萌新 有啥曲解的地方欢迎指正。


  • 1

Reply