机器人 救救瓜
Toggle navigation
Home
SCM-tool
Linux
Jenkins
SVN
other
About Me
Archives
Tags
git 撤销操作
? gitlab ?
2019-03-26 17:10:57
376
0
0
gua_l
? gitlab ?
</br> ``` git reset test.txt #将指针后移 git checkout test.txt #重新检出一份代码,检出的版本是当前workspace 最新的commit版本 ``` </br> </br> #### test.txt :modify ,未add ,未commit #### 撤销修改内容 ``` git reset test.txt #无改变,因为未受控,未追踪 git checkout test.txt #撤销修改内容 ``` </br> #### test.txt :modify ,add ,未commit #### 撤销 add ``` git reset test.txt #返回到未add 的状态 git checkout test.txt #撤销修改内容 ``` </br> #### test.txt :modify ,add ,commit #### 撤销commit ``` ##对于修改已经commit 到本地仓库的 git log -n 2 ##找到上一次commit pre-ID git reset pre-ID ## 将workspace 恢复到上一条commit,即撤销本次commit git status ## 可以看到文件又回到add 未commmit状态 ``` </br> #### 对于本地仓库已经更新远程最新,想要撤销更新,回退到未更新前的某个commit 的位置 ``` git reset ID git status git checkout XXX XXXXfile ``` #### 等于 ``` git reset --hard ID ## --hard 表示回退指针再恢复文件内容 ## 即--hard == reset + checkout git status # 以下摘自https://git-scm.com/book/zh/v2 虽然在调用时加上 --hard 选项可以令 git reset 成为一个危险的命令(译注:可能导致工作目录中所有当前进度丢失!),但本例中工作目录内的文件并不会被修改。 不加选项地调用 git reset 并不危险 — 它只会修改暂存区域。 ``` ##### 以上,恢复到远程某个commit 时的版本,等到远程稳定时再用git pull 就可以重新再更新到最新 </br> </br>
Pre:
gitlab CI/CD
Next:
merge 和cherry pick
0
likes
376
Weibo
Wechat
Tencent Weibo
QQ Zone
RenRen
Submit
Sign in
to leave a comment.
No Leanote account?
Sign up now.
0
comments
More...
Table of content
No Leanote account? Sign up now.