git 撤销与回滚记录

git commit 以前

  • 未添加到暂存区的撤销即还没git add .

git st现象:html

On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   aa.js

no changes added to commit (use "git add" and/or "git commit -a")

复制代码

补救措施:git

// 一、指定文件名  aa.js 是filename
git checkout -- aa.js
// 二、撤销全部
git checkout -- .  // or  git checkout .
复制代码
  • 已经添加进暂存区的撤销即git add . 以后

git st现象:vim

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   aa.js

复制代码

补救措施: 从暂存区撤销 aa.js 是filenamebash

//  一、撤销指定文件
git reset HEAD aa.js
//  二、撤销当前全部暂存区
git reset HEAD
复制代码

git commit 以后

git st现象:ui

On branch master
nothing to commit, working tree clean
复制代码

撤销有两种 一、 git revert 二、 git resetspa

  • git revert

git revert 命令是撤销某次操做,而且这个操做的以前以后都会被保留。 一、用git log 取所有的惟一值。 二、git revert XXXXXXXXXX 。 xxx 得复制全 三、撤销前会进入到vim 的查看环境 q 退出便可。 四、而后推送到远程更新便可 (注意的是revert奇数次生效,偶数次又回到以前的修改状态)code

git log
git revert 209b3a7a5c321330094b2419dd42e6919d309dc3 
复制代码
  • git reset 若是想回到某个版本,能够用reset 命令,这种覆盖是不可逆的,提交以后可能会操做提交记录没有了。
git reset --hard 209b3a7a5c321330094b2419dd42e6919d309dc3
复制代码

能够用git log 查看,发现提交记录没有了 这个时候惟一的补救就是 git reflog 而后再reset 回去cdn

已验~htm

3-5年内部岗位(平安、乐信、vivo、oppo)推荐机会,欢迎发简历到: zgxie@126.comblog

参照

相关文章
相关标签/搜索