zoukankan      html  css  js  c++  java
  • git版本回退

    预备知识:
      
        一个commit对应这一个版本,有一个commit id,40位的16进制数字,通过SHA1计算得到,不同的文件计算出来的SHA1值不同(有很小的几率相同,可忽略),这样每一个提交都有其独特的id。每提交一个新版本,实际上Git就会把它们自动串成一条时间线。
        在Git中,HEAD表示当前版本,也就是e620a6ff0940a8dff…,HEAD^表示上一个版本,HEAD^^表示上上一个版本,往上100个版本可以写成HEAD加连续100个^,也可以写成:HEAD~100。


    git log:该命令显示从最近到最远的提交日志。



    git log --pretty=oneline:将只会显示提交的commit id号和对应的注释。(这里是两个-,Markdown显示两个-为一个-)


    git reset –hard id 之前的版本日志信息:

    git log --pretty=oneline
    e620a6ff0940a8dff91e0d252f30e4d138ec37be 练习版本回退,假设这是版本3
    33342d9870f104719d351539a15e74a1382407ea 练习版本回退,假设这是版本2

    git reset –hard commit_id 或则是 git reset –hard HEAD^
    git reset --hard HEAD^   # hard选项,表示彻底将工作区、暂存区和版本库记录恢复到指定的版本库
    使用git reset –hard 进行版本回退之后,在本地查看README.md,里面已经变为版本2对应的内容了。

    如果你在本地做了错误提交,那么回退版本的方法很简单
    1.先用下面命令找到要回退的版本的commit id:

    git reflog

    2.接着回退版本:

    git reset --hard a7e1d279

    a7e1d279就是你要回退的版本的commit id的前面几位。

    远程分支版本回退的方法
    如果你的错误提交已经推送到自己的远程分支了,那么就需要回滚远程分支了。
    1.首先要回退本地分支:

    git reflog
    git reset --hard Obfafd
    2.紧接着强制推送到远程分支:
    git push -f origin master ## 这里假设只有一个master分支
    3、如果回退远程开发分支

    git push -f origin 本地分支名:develop

  • 相关阅读:
    redis 实例
    redis 常用命令
    redis sets类型及操作
    简单说说PHP优化那些事
    C# IEnumerable与IQueryable ,IEnumerable与IList ,LINQ理解Var和IEnumerable
    全文搜索引擎 elasticsearch.net
    .net 异步
    并行开发 8.用VS性能向导解剖你的程序
    并行开发 7.简要分析任务与线程池
    并行开发 6.异步编程模型
  • 原文地址:https://www.cnblogs.com/lykbk/p/12484543.html
Copyright © 2011-2022 走看看