1、git各阶段版本回退命令

123这3个阶段如何进行回退?


workspace:工作区
index:暂存区
Repository:本地仓库
Remote:远程仓库


1.1、工作区的代码改动不想要了(git add之前)

1.2、git add以后放入暂存区的代码修改不想要了


1.3、git commit提交到本地仓库的代码不想要了


看上面的git log,每一次commit提交日志都生成一个commit id,如果修改刚提交的修改想回退,那么通过上面的commit id就可以(commit id不需要写全,前几位能区分不同的commit id就可以),命令如下:

实际上,上面的git reset --hard commit_id是把本地仓库分支版本上的HEAD指针进行了移动,实际上没有删除任何内容;

如果上面的代码回退你后悔了,可以用git reset --hard继续返回到之前的版本上,
但是之前版本的commit id在哪里看呢?可以用git reflog命令,如下:


看到了吧,我又回来啦!

1.4、远程仓库的代码修改不想要了

有两种方法:

  • a、git pull,在本地分支最新的代码版本上删除之前修改的,然后重新push到远程代码仓库上
  • b、在本地分支上通过git reset --hard xxx回退到之前的版本,然后通过git push -f推送覆盖远程代码仓库

git checkout – 在git add之前,把工作区的代码用版本库中的代码覆盖掉,注意命令中的–不能
去掉,否则成切换分支的命令了
git reset HEAD 把git add之后,暂存区的内容全部撤销
git reset --hard commitid 把提交到本地仓库中的代码改动进行回退
git reflog 查看HEAD指针的改动日志
git push -f 强制推送本地仓库代码到远程仓库
git diff HEAD – 查看工作区file文件和仓库中该文件最新版本的代码有什么区别


2、测试

情况1:工作区修改的代码不要了

修改代码:

实际上这里 <= 是错的!

此时如果不想这样写,怎么退回?

git checkout -- main.cpp



已经退回了!


情况2:将工作区修改的代码添加到暂存区,发现有错,退回!

再在代码中随便加入一行代码!

将工作区修改的代码添加到暂存区:

将暂存区的内容全部舍弃:


git就退回为工作区的改动:


后面的操作就和 情况1相同了!


情况3:将错误代码添加到本地仓库了,还未提交到远程仓库!

可以看到本地仓库有1个新的提交:


可以看到远程仓库和本地仓库已经不在一个点上了,也可以看到本地仓库最新修改没有提交到远程仓库中!

每一次修改都会对应一个commit ID。

此时要要进行回退,回退到哪个版本,就用哪个版本的commit的ID号!

git reset --hard 56f46397d5f26607288b39aa03f2c167817790f4


打开源文件,可以看到已经回退了!

当然,我们操作的记录都会记下来的!

我们再根据commit ID回到未回退之前:

可以看到我们又回来了!


情况4: 将错误代码直接提交到远程了!


怎么回退?

方法1: 重新修改代码,再提交到远程仓库!

方法2:

提示本地分支落后于远程分支:

直接推送是不可以的(只有本地仓库比远程仓库新,才可以直接推送;否则不可以)

因为如果成功了,你可能将别人的代码弄掉!

但是这里,你知道只有你一个人操作了,因此可以强制操作!


这样就可以了,已经回退了!

349-git各阶段版本回退命令相关推荐

  1. git各阶段版本回退命令

    1.git各阶段版本回退命令 123这3个阶段如何进行回退? workspace:工作区 index:暂存区 Repository:本地仓库 Remote:远程仓库 1.1.工作区的代码改动不想要了( ...

  2. Git如何进行版本回退

    Git如何进行版本回退 版本回退 版本回退有多种方式,下面一一演示: 回退到当前版本(放弃所有修改) 放弃某一个文件的修改 回退到某一版本但保存自该版本起的修改 回退到某一版本并且放弃所有的修改 回退 ...

  3. git版本回退命令_Git学习版本回退和管理文件的修改及删除操作

    版本回退 前面我们成功的提交了一次mygit.txt,下面咱对它进行修改,内容如下: Hello Git Git is so easy. 然后用git status来跟踪该文件的状态: 可以看到hel ...

  4. git版本回退命令_刘先生

    如果你在本地做了错误提交,那么回退版本的方法很简单 1.先用下面命令找到要回退的版本的commit id: git reflog 2.接着回退版本: git reset --harda7e1d279 ...

  5. Git -- 基本操作 之 版本回退

    现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...

  6. Git学习-Git时光机之版本回退(二)

    Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛人该怎么定义? 零.结论先行 倒叙总结一下: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git ...

  7. git reset --soft 版本回退多了,怎么恢复?

    正常可能是想git reset --soft 回退到上一版本,不小心回退到了历史的某个版本,本地出现了一堆未提交的文件,想恢复到最新版本,怎么搞? git reset --soft 使用回退多了,说白 ...

  8. git 如何进行版本回退?

    版本回退: 1. 查看git版本信息 git log 或去到 gitee 提交记录中查看 其中:9bd7ee30c2eaffaf7aabf40205066b233aa0af1a 是提交的版本号 2. ...

  9. git版本回退命令_git 版本回退 撤销 删除

    1 未使用 git add 缓存代码时(在工作区的时候) 可以使用 git checkout -- filepathname (比如: git checkout -- readme.md  ,不要忘记 ...

最新文章

  1. 中文扩增子分析视频教程推荐
  2. 学会动态丨中国人工智能学会成功召开重大科学问题《智能生成机理》研讨会...
  3. hiernate二级缓存区域
  4. Python【每日一问】21
  5. 边缘检测中非极大值抑制简单解释
  6. 狼奔代码生成器使用说明
  7. 进程queue和线程queue
  8. 设计模式(5)原型模式(Prototype)
  9. 嗯,比较准确~~~~~~星座这东西……
  10. 插件分享 | 简单免杀绕过和利用上线的 GoCS
  11. Linux驱动之 原子操作
  12. Axure移动端实用元件库分享
  13. HDOJ 5498 Tree
  14. 【2017年】阿里巴巴算法笔试第二题
  15. 红米note4出厂系统版本_红米Note4发布!出厂就有MIUI8黑科技
  16. js之div跟随鼠标移动
  17. Thread--线程让步yield
  18. 管理经济学学习之初探
  19. Linux命令之less
  20. 金融客户标签画像与客群查询使用HIVE+Hbase+Es实践(一)

热门文章

  1. 【前端基础】盒子模型和页面布局总结
  2. strncmp函数用法是什么
  3. 低学历逆袭难,真的只是不够努力吗?
  4. Unity制作自定义消息提示框
  5. 传统算法与神经网络算法,常见的神经网络算法有
  6. 移动webH5真机调试方案
  7. urllib、urllib2、urllib3 和 requests 模块有什么区别?
  8. Import Package
  9. python安装wheel,opencv与其它模块
  10. 【解决方案 二十六】DateGrip一键生成DML语句用于上线