分支合併有兩種方式:git
進行合併操做時,從一個分支合併過來,這個分支的提交記錄也將合併到當前分支。在上圖中不能看出來但通過試驗證實,執行git log操做時,合入的分支的commit會按時間順序插入當前分支。
使用git revert來進行回退時,方式爲建立一個新的commit。spa
git reset執行的結果和git revert是同樣的,可是它的內部邏輯確實不同的。
從上圖咱們能夠知道,使用git reset命令的時候,不會建立一個新的commit來表示回退,而是直接HEAD指向回退的commit:2。指針
這裏須要注意的是雖然回退到了commit:2,可是commit:2以後的提交不會刪除掉。咱們能夠使用git reflog來從新找到歷史操做記錄。