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