一、创建版本库,提交文件

  什么是版本库?版本库又名仓库,英文名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操作提交、版本回退的更多相关文章

  1. git常用操作 配置用户信息、拉取项目、提交代码、分支操作、版本回退...

    git常用操作 配置用户信息.拉取项目.提交代码.分支操作.版本回退... /********git 配置用户信息************/ git config --global user.name ...

  2. Git单人本地仓库操作

    本地仓库是个.git隐藏文件 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git 密码:skylark 2.查看git安装结果 git 3.创建项目 在 ...

  3. git学习 本地常用操作01

    注意: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动 不要使用Windows自带的记事本编辑任何文本文件 开始git项目: 初始化本地项目: 初始化:g ...

  4. git使用笔记(七)版本回退和撤销

    By francis_hao    Nov 21,2016 从版本库初始化开始,每一步的撤销操作 添加第一个文件 在空的版本库中创建了一个文件并git add到了缓存区,这时候怎么撤销呢? 撤销单个文 ...

  5. 一、Git的一些命令操作----创建版本库、增加文件到Git库、时光机穿梭、远程仓库

    具体详细教程请链接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 我这里只是记录 ...

  6. git 命令行(一)-版本回退

    1. 版本回退 在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么.版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用 git log 命 ...

  7. Git HEAD 意思详解 和版本回退

    首先,Git必须知道当前版本是哪个版本,在git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版 ...

  8. GIT更新一其中一个提交版本

    有一小朋友刚才SVN转到GIT,最近老是咨询怎么才svn update -rXXXXX 在git其实也不麻烦,就是git checkout的事情,不管是分支还是TAG,都会有一个HASH版本号 1. ...

  9. git的撤销、删除和版本回退

    目录 备注: 知识点: 查看git仓库的状态 查看历史记录. 版本回退 备注: 本文参考于廖雪峰的博客Git教程.依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文. 知识点: 1.git ...

  10. 使用git初始化本地仓库并提交到远程分支

    创建本地文件并提交到github远程分支,步骤如下: 1.通过github创建repository,本例中repository名称为maven_demo,工程为maven + spring + myb ...

随机推荐

  1. How many virtual users do I need? 计算需要的vuser

    基本公式:--------English:Total Transations = TPS * Vuser==>Vuser = Total Transations / TPS=========== ...

  2. 关于BSTR数据类型

    关于BSTR数据类型 - 极品垃圾 - C++博客 http://www.cppblog.com/bestcln/articles/82712.html VC++常用数据类型及其操作详解(非常经典,共 ...

  3. day23<File类递归练习>

    File类递归练习(统计该文件夹大小) File类递归练习(删除该文件夹) File类递归练习(拷贝) File类递归练习(按层级打印) 递归练习(斐波那契数列) 递归练习(1000的阶乘所有零和尾部 ...

  4. 九度 1481 Is It A Tree?

    题目 给定一个有向图, 判断其是否是一棵树 要求 (1) 除了根节点外, 每个节点只有唯一的前驱 (2) 从根节点出发, 到任何节点有且只有一条路径 思路 1. 要求(1) 可以通过记录每个节点的前驱 ...

  5. swift--控件工厂类的实现

    控件工厂类,简而言之就是,减少代码的复用率,只在哪里用,然后在哪里调: 代码如下: import UIKit class ViewFactory: UIView,UITextFieldDelegate ...

  6. AsyncTask应用示例

    package com.example.testdemo; import java.io.ByteArrayOutputStream; import java.io.IOException; impo ...

  7. rpm源码安装mysql

    1)访问官网(mysql社区服务器) http://downloads.mysql.com/archives/community/ 2)选择自己需要的版本和对应服务器(例如 服务器是centos 6. ...

  8. mysql的if null 的用法

    <!-- 查询 分页查询 --> <select id="queryByPageList" resultMap="weixinActivityResul ...

  9. js积累

    动态加载JS文件(function (d) { var t=d.createElement("script");t.type="text/javascript" ...

  10. c++11实现optional

    optional< T> c++14中将包含一个std::optional类,optional< T>内部存储空间可能存储了T类型的值也可能没有存储T类型的值.当optiona ...