zoukankan      html  css  js  c++  java
  • Git取消合并与撤销

    git取消合并

    git merge --abort

    git撤销

    git reset

    - git reset --soft: 将分支回退到指定提交,工作区维持现状不变,暂存区会在现有基础上增加该commit之后的提交。
    - git reset --mixed: (默认操作)将分支回退到指定提交,暂存区也被同步为该指定提交,工作区保持不变。
    - git reset --hard: 将分支回退到指定分支,暂存区和工作区都会被同步为该指定的提交。
    1. git reset后的三个参数回退程度是依次递进。soft最轻微,它不会重置当前工作区和暂存区,只会将回退版本后续的提交加到暂存区。
    2. mixed会改变暂存区,使它和回退版本同步。
    3. hard则会重置工作区和暂存区,使它和回退版本一致。

    git 取消本地修改

    git checkout .   //当前分支的修改会重置 谨慎使用

    处理合并冲突

    首先要冷静,可以先看哪些文件冲突,是不是自己导致的,若自己导致的,可以使用 git merge --abort取消合并,

    如果自己提交的代码,发现有问题或者影响同事代码了,可以使用 git log 查看日志,

    然后回退版本 git reset --hard ID  比如: git reset --hard 3a169ff

    二、git revert 的用法

    git revert 的作用是通过创建一个新的版本,这个版本的内容与我们要回退到的目标版本一样,但是HEAD指针是指向这个新生成的版本,而不是目标版本。
    如果我们想恢复之前的某一版本(该版本不是merge类型),但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。
    我们使用git revert HEAD命令就可以创建一个新的版本,此版本与上一个版本相同。

     
     

    此时cat abc.md就可以发现输出回到了hello world
     
     

    以下是 git renert 的三种用法
    • git revert HEAD :撤销前一次 commit
    • git revert HEAD^ :撤销前前一次 commit
    • git revert commit + (commit id): 撤销指定的版本,撤销也会作为一次提交进行保存。

    git 更新本地分支(实用)

    git branch -a   //查看远程分支
    git remote update origin --prune  //更新分支
    git checkout test  //切换分支
    //如果这样的方式没起作用
    git checkout -b test origin/test //可以使用这种方法 在本地创建一个和远程分支同样名字的分支 并切换到这个分支
    git pull origin test //然后更新下这个分支的代码 ok了

    总结

    • git reset --soft HEAD^:将最近一次提交节点的提交记录回退到暂存区
    • git reset --mixed HEAD^:将最近一次提交节点的提交记录回退到工作区
    • git reset --hard HEAD^:将最近一次提交节点的提交记录全部清除
    • git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
     

  • 相关阅读:
    第十五篇 -- 学习第十四天打卡20190702
    第三篇 -- 方向
    第十四篇 -- 学习第十三天打卡20190701
    yum更换阿里源
    Jenkins+sonar7.3集成
    xshell 5 书写汉字乱码
    zabbix 短信报警
    zabbix 微信报警
    zabbix邮件报警
    zabbix主动监测客户端设置
  • 原文地址:https://www.cnblogs.com/yangsg/p/13267246.html
Copyright © 2011-2022 走看看