码迷,mamicode.com
首页 > 其他好文 > 详细

git 撤销&回滚命令

时间:2020-07-01 12:43:42      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:写代码   命令   branch   效果   意思   add   com   默认   set   

工作区:指自己写代码的工作目录,未进行 git add 操作之前。

暂存区:执行过 git add 操作之后,但是为执行 git commit 操作。

本地分支:执行过 git commit 操作,但是未执行 git push 操作。

远程分支:执行过 git push 操作。

三种场景介绍:

1.git add . 但是未进行 commit 操作。     暂存区

2.git commit 但是未进行 git push 操作。 本地分支

3.git push 操作了。                                  远程分支

第一种场景

执行了 git add 操作 未执行 git commit 操作

git reset HEAD .                 撤回所有 add 的文件

git reset HEAD  文件名      撤回指定的文件

这个命令只改变暂存区代码,并不影响其他区域代码。

第二种场景

执行了 git commit 操作 未执行 git push 操作

git log 查询提交日志 找到自己需要回滚的 版本号(commit_id)

git reset --hard commit_id  撤销commit提交以及代码的修改

或者

git reset --hard HEAD^     回退到最近一次的提交

或者

git reset commit_id       仅仅撤销本地仓库的commit提交,代码不变

git reset 的几种模式
git reset主要有–soft –mixed –hard 三种方式 

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

--mixed 
意思是:不删除工作空间改动代码,撤销commit,并且撤销(git add .) 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft  
不删除工作空间改动代码,撤销commit,不撤销git add . 

--hard
删除工作空间改动代码,撤销commit,撤销git add . 

注意完成这个操作后,就恢复到了上一次的commit状态。

如果不指定reset的模式,默认使用–mixed模式。

如果 commit 注释写错了,我们可以使用 git commit --amend -m "备注" 既可以覆盖上一次的备注信息。

第三种场景

第三种场景进行撤回的命令和第二个场景撤回命令一样。但是撤销之后 需要 进行 git push -f origin branchName 操作。这样远程仓库对应分支代码就会回滚掉。

注意:一定要注意回滚指定版本号,不应该是最新提交的版本号,而应该是最新一次commit之前的版本号,否则无法进行回滚的。

git 撤销&回滚命令

标签:写代码   命令   branch   效果   意思   add   com   默认   set   

原文地址:https://www.cnblogs.com/ming-blogs/p/13218420.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!