前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git Reset命令

Git Reset命令

作者头像
None_Ling
发布2018-10-24 14:48:00
4.6K0
发布2018-10-24 14:48:00
举报
文章被收录于专栏:Android相关

Git Reset:将处于Commit区的提交重置。

Git分为三个区: 工作区(Working Directory):没有修改、修改后未使用git add的文件 暂存区(Staged):新增/修改后的文件调用git add后都会被添加到暂存区 提交区(Commit):所有添加到暂存区里的文件通过git commit之后会被统一添加到提交区,作为一次提交

HEAD指针指向的是最新的提交节点。而HEAD^代表的是前一次的提交节点。而HEAD~2代表的是前两次的提交节点。

git reset --soft HEAD^:将最近一次提交节点的提交记录回退到暂存区 git reset --mixed HEAD^:将最近一次提交节点的提交记录回退到工作区 git reset --hard HEAD^:将最近一次提交节点的提交记录全部清除

EP: 在Master分支中,首先通过git add test.txt将test.txt文件添加到暂存区,再通过git commit -m "add file test.txt "将暂存区的内容作为一次提交记录添加到提交区,最后如果没问题的话就可以通过git push origin master将这次提交push到远端仓库。

使用 如果此时发现提交记录的comment写错了,如将git commit -m "add file test.txt"写成了git commit -m "ad file test.txt",那么就可以使用: git reset --soft HEAD^将本次提交回退到暂存区,再重新把comment补全,进行一次提交。

如果此时发现提交记录里有一个文件多提交了,或者有一个文件漏添加到暂存区而没有在此次提交内,则可以通过git reset --mixed HEAD^将本次提交都回退到没有添加到暂存区之前,然后再重新add需要提交的文件后,再重新add

如果此时发现修复一个BUG完全错了,希望取消这次提交,并且把代码回退到没有改动的话,则需要使用git reset --hard HEAD^,来将这次提交全部回退。

暂存区回退操作

如果Test.txt文件已经被git add添加到了暂存区中,想要将该文件回退到工作区(Working Directory)的话,则使用git reset HEAD Test.txt,则将修改后的文件回退到了未被add的状态

工作区回退操作

如果Test.txt文件已经被改得乱七八糟了,想要把这个文件回退到最近一次更新的代码的话,则需要使用git checkout -- Test.txt将该文件回到与HEAD的状态

所有文件回到HEAD指针位置

如果工程里面改的乱七八糟了,不仅仅只有一个Test.txt文件被修改,需要将工作区里面的所有文件恢复到HEAD指针的状态的话,则使用git reset --hard HEAD即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.12.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 暂存区回退操作
  • 工作区回退操作
  • 所有文件回到HEAD指针位置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档