git-【二】本地git操作提交、版本回退
一、创建版本库,提交文件
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
所以创建一个版本库也非常简单,如下是E盘 –> code目录下新建一个testgit版本库。
打开git bash
cd E:/code/testgit
pwd
1、git init 把这个目录变成git可以管理的仓库
执行后,生成.git文件夹,这个目录是Git来跟踪管理版本的,不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏。

2. 把文件添加到版本库中。
首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。
2.1、新建文件、提交【-m 之后是提交的注释】
touch readme.txt
git add readme.txt
git commit -m "readme.txt提交111111"
2.2、查看文件是否提交
git status
如图,没有任何文件变化

在文件中增加内容:“222222”,如图查看
上面的命令告诉我们 readme.txt文件已被修改,但是未被提交的修改。
2.3、查看不同
git diff readme.txt

如上可以看到,readme.txt文件内容从一行11111111改成 二行 添加了一行22222222内容。
知道了对readme.txt文件做了什么修改后,我们可以放心的提交到仓库了。
2.4、提交修改
提交修改和提交文件是一样的2步
git add readme.txt
git commit -m "readme.txt提交222222"
注意提交前后状态,如2.2。
二、版本回退
1.可以在文件内增加内容:“3333333”
然后执行提交操作
git add readme.txt
git commit -m "readme.txt提交333333"
2、查看日志
git log
现在我已经对readme.txt文件做了三次修改了,查看历史记录【时间倒叙】

git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是,333333提交.上一次是test.如果嫌上面显示的信息太多的话,可以使用命令
git log --pretty=oneline

3、版本向后回退
3.1、第一种
上一个版本
git reset --hard HEAD^
上上个版本
git reset --hard HEAD^^
那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset –hard HEAD~100 即可。
查看readme.txt内容:通过命令cat readme.txt查看

查看log也是没有最近的一次了。
3.2、版本号回退【任意前退,后退】
git reset --hard 版本号
3.3、查看所有版本号
git reflog

故版本回滚
git reset --hard 0cd5af8
参考地址:http://blog.jobbole.com/78960/
git-【二】本地git操作提交、版本回退的更多相关文章
- git常用操作 配置用户信息、拉取项目、提交代码、分支操作、版本回退...
git常用操作 配置用户信息.拉取项目.提交代码.分支操作.版本回退... /********git 配置用户信息************/ git config --global user.name ...
- Git单人本地仓库操作
本地仓库是个.git隐藏文件 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git 密码:skylark 2.查看git安装结果 git 3.创建项目 在 ...
- git学习 本地常用操作01
注意: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动 不要使用Windows自带的记事本编辑任何文本文件 开始git项目: 初始化本地项目: 初始化:g ...
- git使用笔记(七)版本回退和撤销
By francis_hao Nov 21,2016 从版本库初始化开始,每一步的撤销操作 添加第一个文件 在空的版本库中创建了一个文件并git add到了缓存区,这时候怎么撤销呢? 撤销单个文 ...
- 一、Git的一些命令操作----创建版本库、增加文件到Git库、时光机穿梭、远程仓库
具体详细教程请链接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 我这里只是记录 ...
- git 命令行(一)-版本回退
1. 版本回退 在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么.版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用 git log 命 ...
- Git HEAD 意思详解 和版本回退
首先,Git必须知道当前版本是哪个版本,在git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版 ...
- GIT更新一其中一个提交版本
有一小朋友刚才SVN转到GIT,最近老是咨询怎么才svn update -rXXXXX 在git其实也不麻烦,就是git checkout的事情,不管是分支还是TAG,都会有一个HASH版本号 1. ...
- git的撤销、删除和版本回退
目录 备注: 知识点: 查看git仓库的状态 查看历史记录. 版本回退 备注: 本文参考于廖雪峰的博客Git教程.依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文. 知识点: 1.git ...
- 使用git初始化本地仓库并提交到远程分支
创建本地文件并提交到github远程分支,步骤如下: 1.通过github创建repository,本例中repository名称为maven_demo,工程为maven + spring + myb ...
随机推荐
- python中 decimal不能直接应用于float数据
今天将程序部署到linux服务器上,出现很奇怪的现象. 在windows上运行正常的decimal,到了linux环境下不能正常运行,报出下面的错误. 代码为: income = get_dashbo ...
- 编写高性能的jQuery代码
jQuery Optimization 现在jQuery已经出现在很多项目中,然而许多同学忽略了他的性能问题以及代码质量问题, 下面是我对jQuery的一些性能方面的学习. 选择器 选择器是jQuer ...
- 7 -- Spring的基本用法 -- 3... Spring 的核心机制 : 依赖注入
7.3 Spring 的核心机制 : 依赖注入 Spring 框架的核心功能有两个. Spring容器作为超级大工厂,负责创建.管理所有的Java对象,这些Java对象被称为Bean. Spring容 ...
- Python 入门(二)Unicode字符串
Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节 (byte),所以,一 ...
- 关于C中I/O缓冲区的解释
用户程序调用C标准I/O库函数读写文件或设备,而这些库函数要通过系统调用把读写请求传给内核,最终由内核驱动磁盘或设备完成I/O操作.C标准库为每个打开的文件分配一个I/O缓冲区以加速读写操作,通过文件 ...
- iOS-利用插件实时刷新模拟器(提高效率)
解决办法: 1.需要给Xcode安装一个Alcatraz插件 安装完成后:点击window 下面的 package manager 安装我们今天的主角 2. ‘Injection Plugin for ...
- 【Base64】用 js 编 解 码 base64
理论补充: Base64是一种基于64个可打印字符来表示二进制数据的表示方法. 由于2的6次方等于64,所以每6个比特为一个单元,对应某个可打印字符. 三个字节有24个比特,对应于4个Base64单 ...
- Neutron SDN 手动实现手册
安装架构介绍 本文旨在通过自己搭建类似neutron (openvswitch + gre) 实现SDN 的环境,学习了解其工作原理,模拟核心原理,比如:同一租户自定义网络 instance 互通,手 ...
- python搭建简易Web Server
如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等.那么, Python可能帮助你,使用Python可以完成一个简单的内建 HTT ...
- Python subprocess shell 编程规范
使用subprocess通过shell调用另一个模块组件时,需要对返回的code进行判断.判断结果为执行失败时需要raise Exception,不然调用树过于复杂时,我们很难跟踪到异常发生的位置.s ...