git merge / rebase 分支的新建与合并

merge

  https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6

关键指令

  git checkout -b xxx       新建分支

  git branch -d xxx       删除分支

  git merge  xxx          合并分支

  git checkout xxx  切换分支

  

  

关键名词

  fast-forward   

    当前 master 分支所指向的提交是你当前提交(有关 hotfix 的提交)的直接上游,所以 Git 只是简单的将指针向前移动。 换句话说,当你试图合并两个分支时,如果顺着一个分支走下去能够到达另一个分支,那么 Git 在合并两者的时候,只会简单的将指针向前推进(指针右移),因为这种情况下的合并操作没有需要解决的分歧——这就叫做 “快进(fast-forward)”。

  git merge / rebase 分支的新建与合并

  master merge 完hotfix之后

    git merge / rebase 分支的新建与合并

  

  合并提交

    Git 会使用两个分支的末端所指的快照(C4 和 C5)以及这两个分支的工作祖先(C2),做一个简单的三方合并。

    和之前将分支指针向前推进所不同的是,Git 将此次三方合并的结果做了一个新的快照并且自动创建一个新的提交指向它。 这个被称作一次合并提交,它的特别之处在于他有不止一个父提交。

  git merge / rebase 分支的新建与合并

rebase

  https://git-scm.com/docs/git-rebase

  https://blog.csdn.net/wh_19910525/article/details/7554489

  https://blog.csdn.net/TTKatrina/article/details/79288238

  git add .

  git rebase --continue