Git入门

指令

  • git cherry-pick

在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中使用的注意点

  • 提交到暂存区后如何撤回

    Git入门_第1张图片
    提交到暂存区后如何撤回.png

    右击远端最新处:点击“将master重置到此次提交”,然后选择第一项“软合并”。

  • 将某分支的某个commit进行checkout到新分支
    如图所示,当前master分支在1处,想checkout一个2处的新分支dev

    Git入门_第2张图片
    将某分支的某个commit进行checkout到新分支.png

    操作步骤:
    1.在2处右击,选择检出,此时head会指向2处的commit
    2.点击分支,新建分支,此时就可以以当前head处的分支进行检出到新分支

  • 将某次提交从远程分支中revert
    1.目前已经将修改提交到了远端

    Git入门_第3张图片
    修改提交到了远端.png

    2.这是一个本地的操作,远端还是需要手动推送上去消息才能知道revert
    Git入门_第4张图片
    右键提交回滚.png

    3.推送上去

你可能感兴趣的:(Git入门)