文章目录

  • 1.前言
  • 2.改写文件 checkout

1.前言

之前我们使用 reset 的时候是针对整个版本库, 回到版本库的某个过去. 不过如果我们只想回到某个文件的过去, 又该怎么办呢?

2.改写文件 checkout

其实 checkout 最主要的用途并不是让单个文件回到过去, 我们之后会继续讲 checkout 在分支 branch 中的应用, 这一节主要讲 checkout 让文件回到过去.
我们现在的版本库中有两个文件:

- GIT_LEARN- 1.py- 2.py

我们仅仅要对 1.py 进行回到过去操作, 回到 16a0f74 change 1 这一个 commit. 使用 checkout + id 16a0f74 + – + 文件目录 1.py, 我们就能将 1.py 的指针 HEAD 放在这个时刻 16a0f74:

$ git log --oneline
683671d (HEAD -> master) change 2
16a0f74 chang 1
aa3f406 create 1.py
---------------------
git checkout 16a0f74 -- 1.py


这时 1.py 文件的内容就变成了:

a = 1

我们在 1.py 加上一行内容 # I went back to change 1 然后 add 并 commit 1.py:

$ git add 1.py
$ git commit -m "back to change 1 and add comment for 1.py"
$ git log --oneline# 输出
01d0fdc (HEAD -> master) back to change 1 and add comment for 1.py
683671d change 2
16a0f74 chang 1
aa3f406 create 1.py


可以看出, 不像 reset 时那样, 我们的 change 2 并没有消失, 但是 1.py 却已经回去了过去, 并改写了未来.

Git教程——回到从前 (checkout 针对单个文件)相关推荐

  1. Git教程——回到从前 (reset)

    文章目录 1.工作前先查看日志 2.修改已 commit 的版本 3.reset 回到 add 之前 4.reset 回到 commit 之前 1.工作前先查看日志 $ git log --oneli ...

  2. 在xcode 项目 中针对 单个文件关闭或者打开ARC 开关

    1.点击项目导航文件--> 选中Targets--> 选择 Build Phases --> 展开Compile Sources 2.选择一个文件. 3. -fno-objc-arc ...

  3. git checkout 单个文件_git 如何回退单个文件

    1.进入到文件所在文件目录,或者能找到文件的路径 查看文件的修改记录 git log fileName 结果: 如果文件修改记录太多,则使用 git log -number fileName 结果: ...

  4. git撤销单个文件的修改_大牛总结的 Git 使用技巧,写得太好了

    作者:你喜欢吃青椒么来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下 ...

  5. git让单个文件回滚到指定版本

    https://blog.csdn.net/fsgsggd/article/details/79875035 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITey ...

  6. git 撤销单个文件到某个提交

    开发过程中发现某个文件修改错误,需要回退到前一个版本. 用git status查看状态,并复制需要撤销(退回到某个版本)的单个文件 然后查看提交日志,确定要回到的提交为 591d0 执行 git ch ...

  7. git拉取单个文件_Git拿来就用

    简介 Git[1]是 Linus 开源的分布式代码版本控制工具. Q:版本控制工具有哪些? A: 集中式:SVN.CVS.VSS 等 分布式:BitKeeper.Git 等 Q:集中式和分布式有什么区 ...

  8. Git 与 Github 的使用 —— 下载单个图像或单个文件夹

    我们当然不是每次都要 git clone 远程仓库中的所有文件. 1. 下载单个图像 Download single files from GitHub 找到要下载的文件 点击在GitHub上打开 找 ...

  9. Git合并单个文件和[y,n,q,a,d,/,K,j,J,g,e,?]

    Git合并单个文件和[y,n,q,a,d,/,K,j,J,g,e,?] 前言 今天想要合并两个分支的同一个文件,查了网上一些资料,将A分支的a文件合并到B分支的a文件上.可以通过以下方式合并 git ...

最新文章

  1. 使用Java更新DynamoDB项
  2. Spring简化Java开发_spring如何简化java开发
  3. jQuery Mobile中单选按钮radio的data-*选项
  4. android PopupWindow实现从底部弹出或滑出选择菜单或窗口
  5. 我们决定聚在一起搞件大事
  6. EsayExcel简单的读和写
  7. android gps 获取方位_Android通过gps获取定位的位置数据和gps经纬度
  8. 对TMS320F28335存储空间的理解
  9. 【手把手教你Ubuntu】Ubuntu 13.04 Linux 3D桌面完全教程,显卡驱动安装方法
  10. simulink模块,提供xpctarget下驱动源码
  11. 无穷小和无穷大·漫画
  12. jquery遍历json数组
  13. 网易云音乐(一)爬取全部歌手及歌手id
  14. 使用Ansj实现分词
  15. 中值滤波、低通与高通滤波
  16. 如何安装MathType 6.9
  17. 什么是拉斯韦尔传播模型
  18. 滚动轴承的结构由部分组成
  19. Dan Boneh密码学-01.绪论
  20. 解决阿里云ECS安装Mysql失败:GPG密钥已安装,但是不适用于此软件包

热门文章

  1. 数字后端基本概念介绍<site>
  2. java jdbc 占位符_java-jdbc
  3. 当子元素设置position absolute的时,父元素必须设置position属性
  4. CDays–5 习题二(利用Python科学计算特性,使用常用计算符)及相关内容解析。...
  5. Many to many example - 1 of 4
  6. linux 动态内存分配,具体来说,fork()如何处理Linux中malloc()动态分配的内存?
  7. 巧妙解决Windows 7系统中软件乱码问题
  8. 数字计算机第一次应用于工业是什么时候,计算机应用基础(二)第一次作业(95%的答案)(1884页)-原创力文档...
  9. 2019-06-15
  10. CentOS7.6安装WirёGuαrd(一)