git merge --abort
git resetgit
- git reset --soft: 将分支回退到指定提交,工做区维持现状不变,暂存区会在现有基础上增长该commit以后的提交。 - git reset --mixed: (默认操做)将分支回退到指定提交,暂存区也被同步为该指定提交,工做区保持不变。 - git reset --hard: 将分支回退到指定分支,暂存区和工做区都会被同步为该指定的提交。
git checkout . //当前分支的修改会重置 谨慎使用
首先要冷静,能够先看哪些文件冲突,是否是本身致使的,若本身致使的,可使用 git merge --abort取消合并,spa
若是本身提交的代码,发现有问题或者影响同事代码了,可使用 git log 查看日志,指针
而后回退版本 git reset --hard ID 好比: git reset --hard 3a169ff日志
git revert 的做用是经过建立一个新的版本,这个版本的内容与咱们要回退到的目标版本同样,可是HEAD指针是指向这个新生成的版本,而不是目标版本。
若是咱们想恢复以前的某一版本(该版本不是merge类型),可是又想保留该目标版本后面的版本,记录下这整个版本变更流程,就能够用这种方法。
咱们使用git revert HEAD
命令就能够建立一个新的版本,此版本与上一个版本相同。
code
cat abc.md
就能够发现输出回到了
hello world
。
git revert HEAD
:撤销前一次 commitgit revert HEAD^
:撤销前前一次 commitgit revert commit + (commit id)
: 撤销指定的版本,撤销也会做为一次提交进行保存。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^
:将最近一次提交节点的提交记录所有清除