有时候在操作git的时候,不免有时提交或修改过快,需要进行一些回退操作,下面来看一下。

lj@lj-virtual-machine:~/111111/git/gittest$ git status
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。(使用 "git push" 来发布您的本地提交)尚未暂存以备提交的变更:(使用 "git add <文件>..." 更新要提交的内容)(使用 "git checkout -- <文件>..." 丢弃工作区的改动)修改:         test.sh修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
lj@lj-virtual-machine:~/111111/git/gittest$
lj@lj-virtual-machine:~/111111/git/gittest$ git checkout -- test.sh
lj@lj-virtual-machine:~/111111/git/gittest$ git status
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。(使用 "git push" 来发布您的本地提交)无文件要提交,干净的工作区

没有执行git add操作之前,用git checkout -- test.sh执行回退操作。git中也有提示信息

lj@lj-virtual-machine:~/111111/git/gittest$ git status
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。(使用 "git push" 来发布您的本地提交)要提交的变更:(使用 "git reset HEAD <文件>..." 以取消暂存)修改:         test.shlj@lj-virtual-machine:~/111111/git/gittest$ git reset HEAD test.sh
重置后取消暂存的变更:
M   test.sh
lj@lj-virtual-machine:~/111111/git/gittest$ git status
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。(使用 "git push" 来发布您的本地提交)尚未暂存以备提交的变更:(使用 "git add <文件>..." 更新要提交的内容)(使用 "git checkout -- <文件>..." 丢弃工作区的改动)修改:         test.sh修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

如果执行git add操作,用git reset HEAD test.sh进行回退

lj@lj-virtual-machine:~/111111/git/gittest$ git status
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。(使用 "git push" 来发布您的本地提交)要提交的变更:(使用 "git reset HEAD <文件>..." 以取消暂存)修改:         test.shlj@lj-virtual-machine:~/111111/git/gittest$
lj@lj-virtual-machine:~/111111/git/gittest$ git commit
[master 31e8475] :qqqqqqq1 file changed, 1 insertion(+)
lj@lj-virtual-machine:~/111111/git/gittest$
lj@lj-virtual-machine:~/111111/git/gittest$
lj@lj-virtual-machine:~/111111/git/gittest$ git log
commit 31e8475fc86ff93c3050ff67135a6c3864a21bd3
Author: yaori <test@runoob.com>
Date:   Fri Mar 29 08:29:33 2019 +0800:qqqqqqqcommit e829ace82b18bf17f0b29cb751fbe5a226190135
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 20:46:43 2019 +0800testcommit 78346b1f12fcbe366f873aa388defb247a55d5f2
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 20:37:22 2019 +0800testcommit bfbbb585de8626fecfc4cd2afecf414f04637af2
Author: yaori <test@runoob.com>
Date:   Thu Mar 28 20:30:40 2019 +0800:wqcommit 0d4a4182f4ca18e14919727bbedffccc4f187ac7
Author: yaori <test@runoob.com>
lj@lj-virtual-machine:~/111111/git/gittest$ git checkout e829ace82b18bf17f0b29cb751fbe5a226190135
Note: checking out 'e829ace82b18bf17f0b29cb751fbe5a226190135'.You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:git checkout -b new_branch_nameHEAD 目前位于 e829ace... test

如果你已经commit了修改,需要用git log找到上一个commit,再用git checkout commit id(上一个提交的)完成回退。如果你已经push到远程分支,这样不能回退远程分支上的代码。

git常见的回退操作相关推荐

  1. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

  2. git的一些撤销/回退操作

    在个人开发和协同开发过程中,我们是通过git把我们本地仓库和远程仓库联系起来,首先 我们要知道的是git 有工作区.暂存区和Git仓库.我们本地编写的代码,不执行git命令都处于工作区. 执行 git ...

  3. git reset(回退add操作)

    在git的一般使用中,如果发现错误的将不想提交的文件add进入index之后,想回退取消,则可以使用命令:git reset HEAD <file>...,同时git add完毕之后,gi ...

  4. git的版本回退教程(带你一步一步操作)

    在之前的文章中我们已经学会了如何使用git提交文件.下载更新文件.那么在git中如何进行版本回退呐 首先,在本地建立一个git项目,并且与 远程服务端(github) 上的项目进行关联(如果这一步骤有 ...

  5. Git初学札记(四)————Git Push的常规操作与Pull冲突解决

    目录 引言 Git命令行的远程Push EGit Push操作中的冲突问题 同步 工作区与本地库同步 工作区与远程库同步 图标 重点 引言 在团队开发当中,Git Push是多人协作环节中的最重要的一 ...

  6. Git系列:常用操作一指禅

    Git操作一指禅 远程建仓,本地拉取代码 代码提交 版本回退 其他操作 扩展参考 Git系列博客: Git系列:GitHub建仓及远端同步步骤总结,link Git系列:入门必备指令详解,link G ...

  7. Git单人本地仓库操作

    Git单人本地仓库操作 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git密码:chuanzhi 2.查看git安装结果 git 3.创建项目 在桌面创 ...

  8. Git常用命令——分支操作

    Git常用命令--分支操作 分支操作 git branch 列出,创建或者删除分支 git branch <branchName> :创建一个分支 git branch -d <br ...

  9. Git:撤销回滚操作

    Git撤销&回滚操作(git reset 和 get revert) git的工作流 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git ...

最新文章

  1. 估值被砍700亿美元后,Waymo发重磅公开信:即将推出全自动驾驶打车服务
  2. 1900万印度人疯抢6万份工作,加班至死,这才是真正的就业崩溃!
  3. SQL与NoSQL区别-规范化
  4. Object-C 有私有变量?私有方法?
  5. 关于在本地idea当中提交spark代码到远程的错误总结(第二篇)
  6. 线性回归代码matlab
  7. ffmpeg支持G711音频和H.264视频数据封装为mp4
  8. Python面向对象:isinstance和issubclass
  9. Hibernate入门(二)
  10. python数据预处理案例_对pandas进行数据预处理的实例讲解
  11. 在技术社区以外的博文中插入代码(把代码转换到 Html 文本)
  12. 仅用 10 天设计的 JavaScript,凭什么成为程序员最受欢迎的编程语言?
  13. 【数据结构(C语言)】数据结构-图
  14. Python爬虫书籍推荐
  15. 博科交java插件_博科光纤交换机配置
  16. [完全图解].NET Croe 使用JWT验证签名
  17. 毕业实习笔记——WRF模式入门(Cygwin版)
  18. MIT 18.06 +线性代数的几何意义+3Blue1Brown 笔记
  19. redis事务与持久化
  20. python时间时间换算 精确到毫秒

热门文章

  1. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )
  2. 【数据挖掘】贝叶斯信念网络 ( 马尔科夫假设 | 结构 | 有向无环图 | 参数 | 条件概率表 | 案例分析 )
  3. Linux 下 pmap 命令的使用
  4. 开源项目kcws代码分析--基于深度学习的分词技术
  5. DataList自定义分页
  6. VS2003 下GridControl的列显示成图片+文字的形式实现
  7. Sharepoint 2010 页面设计确实方便
  8. nb-iot简介【转】
  9. runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答
  10. 使用go脚本向MySQL表中写入数据