• SourceTree超前一个版本,落后N个版本


    SourceTree超前一个版本,落后N个版本

    在使用SourceTree的时候经常会遇见超前一个版本,落后N个版本的情况,遇见这种情况应该怎么办呢?

     

    首先打开终端,最好是从SourceTree里面打开,菜单栏有个终端按钮。

    然后输入:

     

    $ git reset --hard HEAD^

    这句话的意思是将自己最近的一次提交撤销,回到push之前的状态。但是所有commit的内容就都消失了非常不建议用这个参数,会牺牲太多的代码。。

    如果不想让commit消失,可以改一下参数。用这个参数可以保证你提交的代码原封不动的保存下来。前提是你本地的工作台是干净的。。把所有代码都暂存。

     

    $ git reset --soft HEAD^

     

    执行这句话之后重新拉取一遍代码就可以了,push的都会撤销回来。

    如果git pull 不能拉取,   就先执行 git stash  暂存之后就可以拉取了, 拉取完之后 记得 git stash pop  还原之前的暂存.

     

    如果想一次回退多个push,可以这样:(例子是撤销最近三次的提交)

     

    $ git reset --soft HEAD~3

     

    如果想回退到某个指定版本,在终端中输入:

     

    $ git reset --soft 1234567

    1234567是要回退到的版本号,根据具体情况而定,这里只是举例子。

     

    版本号可以不写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

     

    最后总结一下:

     

      • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

      • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

      • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    参考链接 : http://blog.51cto.com/liu3348/1880975

  • 相关阅读:
    MySQL SQL语句总结
    JavaFx通用查询、跳转创建、修改页面、关闭舞台工具类
    反射工具类
    SpringBoot将数据写入word模板,生成word文档
    vscode设置中文的方法
    Flex 布局
    处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” •使用了托管的处理程序,但是未安装或未完整安装 ASP.NET。
    第一周助教总结
    JS时间转换
    ES 安装常见错误
  • 原文地址:https://www.cnblogs.com/yalong/p/8876480.html
Copyright © 2020-2023  润新知