指令
- git cherry-pick <commit>
在master分支上修复了bug后,我们要想一想,dev分支是早期从master分支分出来的,所以,这个bug其实在当前dev分支上也存在。
那怎么在dev分支上修复同样的bug?重复操作一次,提交不就行了?
有木有更简单的方法?
有!
同样的bug,要在dev上修复,我们只需要把4c805e2 fix bug 101这个提交所做的修改“复制”到dev分支。注意:我们只想复制4c805e2 fix bug 101这个提交所做的修改,并不是把整个master分支merge过来。
为了方便操作,Git专门提供了一个cherry-pick命令,让我们能复制一个特定的提交到当前分支:
$ git branch
* dev
master
$ git cherry-pick 4c805e2
[master 1d4b803] fix bug 101
1 file changed, 1 insertion(+), 1 deletion(-)
Git自动给dev分支做了一次提交,注意这次提交的commit是1d4b803,它并不同于master的4c805e2,因为这两个commit只是改动相同,但确实是两个不同的commit。用git cherry-pick,我们就不需要在dev分支上手动再把修bug的过程重复一遍。
其他
- head指向的是当前分支
- tag可以打在任何分支上
- git图谱:https://juejin.im/post/5b8e3b696fb9a019ef32d169
source中使用的注意点
-
提交到暂存区后如何撤回
提交到暂存区后如何撤回.png
右击远端最新处:点击“将master重置到此次提交”,然后选择第一项“软合并”。 -
将某分支的某个commit进行checkout到新分支
将某分支的某个commit进行checkout到新分支.png
如图所示,当前master分支在1处,想checkout一个2处的新分支dev
操作步骤:
1.在2处右击,选择检出,此时head会指向2处的commit
2.点击分支,新建分支,此时就可以以当前head处的分支进行检出到新分支 -
将某次提交从远程分支中revert
修改提交到了远端.png
1.目前已经将修改提交到了远端
2.这是一个本地的操作,远端还是需要手动推送上去消息才能知道revert
右键提交回滚.png
3.推送上去
网友评论