Git add回退 & commit回退

Git 有三种状态,你的文件可能 处于其中之一: 已提交(committed)、已修改(modified) 和 已暂存(staged)。

• 已修改表示修改了文件,但还没保存到数据库中。

• 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

• 已提交表示数据已经安全地保存在本地数据库中。

这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。

git add 是将工作区已修改的文件提交到暂存区

git commit 是将暂存区的文件提交到Git 目录

add回退

如果执行git add之后,发现误添加了某个文件提交到了暂存区,可以通过以下命令撤回到工作区

git reset HEAD <文件名>

如果想将所有暂存区的文件撤回到工作区

git reset HEAD

commit回退

如果执行git commit之后,因为某种原因想撤销提交但仍然保留commit之前的修改,可以通过以下命令撤销提交:

# 将暂存区最近一次提交到Git目录的文件全部撤回到暂存区
git reset --soft HEAD^

如果想将git commitgit add一并撤回:

# 将暂存区最近一次提交到Git目录的文件全部撤回到暂存区,且将暂存区的文件全部撤回到工作区
git reset --mixed HEAD^# 等同于该命令
git reset --soft HEAD^ && git reset HEAD

如果不想保留最近一次提交的所有修改:

git reset --hard HEAD^

Git add回退 commit回退相关推荐

  1. Git add 、commit后报错:nothing to commit, working tree clean

    原因: 文件没有修改的地方,和上仓库最新的文件相比没有改变,所以报错

  2. Git笔记(一)——[commit, checkout]

    其实一直觉得自己是会用Git的,毕竟咱也是用Github的人啊!可是三月份找工作时候的一次面试颠覆了我的看法: Q: 用过Git吗?平常怎么用的? A: 用过的,一般就是add,commit,push ...

  3. git add .出现尚未暂存以备提交的变更

    问题描述: 1.删除文件与文件夹 2.git add.commit .push 结果却是修改的文件与文件夹都没有更新? git status:提示信息: 尚未暂存以备提交的变更: 修改尚未加入提交(使 ...

  4. git回退commit的操作

    git回退commit的操作 1 git reset 1. Git -Log-找到当前commit,即当前第一个 2. 右击选择 Go to parent commit 3. 找到本地的上一次提交 4 ...

  5. 【Git】回退 commit 版本详解

    文章目录 当我们提交的版本出bug后,如果不影响线上的功能,可能先回退到之前的版本,这时候就要用到git reset这个命令,及他各参数的用法:--hard.--mixed.--soft 假设我们还原 ...

  6. Git快速入门-git stash 暂存变更,git reset 撤销commit,git revert 回退远程版本库

    Git快速入门系列文章 - Git快速入门-安装配置篇 - Git快速入门-常用命令之独奏篇 - Git快速入门-常用命令之交响乐篇 - Git快速入门-git stash 暂存变更,git rese ...

  7. git commit回退三种姿势

    git commit 回退 弄清楚三个区 工作区(working tree): 本地编辑器 暂存区(index):git add操作后进入暂存区,可用git status查看 本地仓库(reposit ...

  8. 解决git提交敏感信息(回退git版本库到某一个commit)

    解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提 ...

  9. git add.后回退 代码丢失

    记录一次操作git丢失代码的过程: 写完代码后:git staus git add. git status 发现有一堆.class 文件不想提交,想着代码回退到add 之前,使用了 git log 开 ...

最新文章

  1. SQL提取表中某列字符长度为2的所有记录
  2. 【C 语言】文件操作 ( 写文本文件 | Qt 创建 C 语言命令行项目 )
  3. ZOJ18th省赛 Lucky 7
  4. 分布式内存数据库的CAP-BASE原理
  5. Dapr + .NET Core实战(三)状态管理
  6. tomcat在linux下开机启动
  7. 简述DNS进行域名解析的原理
  8. 涉嫌内幕交易?美国SEC对马斯克展开调查
  9. apt-get update命令卡在waiting for headers
  10. 产品经理的高阶能力:架构图的设计与画法
  11. 【烈日炎炎战后端】Redis(6.1万字)
  12. 计算机网络知识点总结(超全,配有常见习题)
  13. MySql打开局域网及广域网端口
  14. Debian权威发音
  15. R——关联规则分析(二 例题:中医证型的关联规则挖掘)
  16. 外贸邮件群发需要注意哪些?163 vip邮箱登录注册哪个好?
  17. 02.国际标准文件查询
  18. revit阶梯剖的创建方法及快速剖面操作
  19. 第三讲:股票买卖 III
  20. 海明检验码和循环冗余校验码

热门文章

  1. Android生态系统分裂剖析 开放性系统带来的影响
  2. [10.21][转贴][中国][成龙作品集34部][DVD-RMVB/16.2G][中文字幕/影片截图]
  3. Java使用Scanner与random实现骰子游戏
  4. 二叉平衡树之AVL树【手动实现代码】
  5. makefile obj文件路径_一个简单makefile(指定obj文件位置) | 学步园
  6. 发那科2021参数_三菱发那科常用参数对照表
  7. 大数据营销在旅游行业的应用方案
  8. 阻塞队列(三):DelayQueue
  9. BF、KMP、BM、Sunday算法讲解
  10. BM46 最小的 K 个数