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

參照

相關文章
相關標籤/搜索