博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git 版本管理
阅读量:3946 次
发布时间:2019-05-24

本文共 870 字,大约阅读时间需要 2 分钟。

Git 版本管理

什么是版本管理

例如你玩游戏时,每通过以关就会自动把游戏状态存盘,如果某一关没有过去,你还可以选择读取前一段的状态。有些时候,再打 Boos 之前,你还会手动存盘,万一打 Boos 失败了,可以方方便从最近的游戏关卡重新开始。

Git 同样也是这个道理,每当你觉得文件修改到一定程度的时候,你就可以 “保存一个快照”,这个快照在 Git 中被称为 commit。一旦你把文件该乱了,或者误删了文件,还可以从最近的一个 commit 恢复,然后继续工作,而不是把几个月的工作成果全部丢失。

版本管理示意图

在实际工作中,由于我们提交的文件修改内容可能会很多,可以使用 git log 命令查看。

# 显示从最近到最远的提交日志git log # 以简洁的形式显示日志git log --pretty=oneline

当我们要回退到上一个版本,可以使用 git reset 命令:

# 回退到上一个版本git reset --hard HEAD^# 回退到指定版本【commitID】是使用 git log 命令显示出来的提交 IDgit reset --hard commitID

在 Git 的内容有个指向当前版本的 HEAD 指针,当你回退版本的时候,Git 只是把 HEADappend GPL :

在这里插入图片描述
改为指向 add distributed

在这里插入图片描述

然后再将工作区的文件进行更新,所以你让 HEAD 指向哪个版本号,就会定位到哪个版本。

假如:你回退到某个版本,然后又想恢复到新版本,但是找不到 commit id 怎么办?

我们可以使用 git reflog 命令

# 用于记录你的每一次命令git reflog

小总结

  • HEAD 指向的版本就是当前版本,因此,Git 允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id
  • 穿梭前,用 git log 可以查看提交历史,以便确定回退到哪个版本。
  • 回退版本,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。

转载地址:http://bvqwi.baihongyu.com/

你可能感兴趣的文章
Android的Gradle技巧 2.1设置项目属性
查看>>
Android的Gradle技巧 2.2将应用程序从Eclipse ADT移植到Android Studio
查看>>
Android的Gradle技巧 2.3从Eclipse移植应用程序ADT使用Eclipse
查看>>
昂山素季 Aung San Suu Kyi
查看>>
AI 人工智能第一课 从贝叶斯定理开始
查看>>
朴素贝叶斯python实现
查看>>
Logistic回归原理及公式推导
查看>>
并发性与并行性 并发性与并行性
查看>>
惰性求值,可组合和模块化的JavaScript
查看>>
How to Extend Django User Model 如何扩展Django用户模型
查看>>
两个行业的故事:编程语言与富裕国家和发展中国家之间的差异
查看>>
15个用于管理MySQL服务器mysqladmin命令
查看>>
服务器端I / O性能:Node,PHP,Java与Go
查看>>
多行文本编辑时,同一行编辑不同类型的字符时自动换行的问题
查看>>
如何使开机动画只播一次
查看>>
如何在平台上实现LED灯的效果?如信号灯,来短信/来电时LED动画闪烁
查看>>
restore factory属性的enable和disable
查看>>
Android LOG机制流程图
查看>>
如何在JNI中抛异常
查看>>
Android应用程序的完全退出
查看>>