git merge
分支合并有两种方式:
- fast-forward,假设从 master 分支创建一条新的分支 develop,在 develop 分支上进行了一些修改,但是在此期间 master 分支没有进行任何修改,那么在将 develop 分支合并到 master 分支的时候,只是简单的将 master 分支的指针右移。如下所示
- 创建新的 commit,如果被合入代码的分支和合入分支都进行了修改,则此时需要创建一个新的 commit,此时这个 commit 的祖先有两个,即被合入分支之前的最后一个 commit 和合入分支之前的最后一个 commit。如下所示
进行合并操作时,从一个分支合并过来,这个分支的提交记录也将合并到当前分支。在上图中不能看出来但经过试验证明,执行 git log 操作时,合入的分支的 commit 会按时间顺序插入当前分支。
git revert
使用 git revert 来进行回退时,方式为创建一个新的 commit。