06_Git的分支的进阶与版本回退

fast-forward:快进

  • 如果可能,合并分支时Git会使用fast-forward模式
  • 这种模式下,删除分支时,会丢掉分支信息
  • 合并时加上 -- no-ff参数会禁用fast-forward,这样会多出来一个commit id
  • git merge --no-ff dev:会提示你在输入一个commit来记录你的这次合并,并不是直接合并,再把合并的分支的commit更新到和dev分支的commit一样后,还会多出来你合并时的commit,这样会保留分支的信息
  • 查看log:git log --graph:可以查看到图形化的分支线路日志

版本回退

在进行了一次commit后,发现我们的代码出现了问题,这个时候,我们就需要回退到上个版本。那么Git其实记录的我们的每一次commit,使得版本的回退就十分的容易和可靠

  • 现在我们创建了一个新的仓库,并且对一个文件进行了四次提交(修改了三次,分别依次写入了helloworlda another linehello git四行内容),这是我们的提交日志。
    06_Git的分支的进阶与版本回退_第1张图片
    提交了4次
  • 当我们想回退到上个版本的时候,或者想回退到某个版本的时候


    06_Git的分支的进阶与版本回退_第2张图片
    git提供了丰富的指令
  • 我们按上面的指令执行,提示我们的commit变化了,git log查看日志也会少一条
    06_Git的分支的进阶与版本回退_第3张图片
    回退到了上一个commit
  • 同时,如果我们需要让历史的状态回到最新的状态,我们可以用其他指令的参数来指定要去到的版本。例如我们需要回到最新的版本。如果记录了git log的话,我们可以只输入最新的commit的id的前几位回到最新commit。(不仅能回退还能前进)


    06_Git的分支的进阶与版本回退_第4张图片
    回到了最新的commit
  • 问题又来了,如果我们不记得git log的内容,也不知道最新的commit_id是什么,那么我们就可以采用git reflog,它记录的是操作日志,不是提交日志,我们可以使用它来看到操作的commit_id,以此来回退版本。
    06_Git的分支的进阶与版本回退_第5张图片
    操作日志

你可能感兴趣的:(06_Git的分支的进阶与版本回退)