一、创建版本库

  创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:

mkdir gitHub_CXW
cd gitHub_CXW

git init
Initialized empty Git repository in /Users/michael/learngit/.git/

  瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),文件夹内部出现了一个.git文件,可以使用  ls  -ah  进行查看

二、文件添加到版本库

git add <file>                     第一步,将文件存入暂存区
git commit -m "注释" 第二部,将文件存入仓库

三、工作区状态查询

git status          获取工作区状态
git diff 如果git status告诉文件有修改过,则可以使用git diff查看修改内容

四、版本穿梭

1、HEAD指向的版本为当前版本

2、git log

git log                            显示从最近到最远的提交日志
git log --pretty=oneline 同上,信息缩略为一行

3、commit id 版本号

4、使用HEAD回退版本

git reset --hard HEAD^
git reset --hard HEAD^^
git reset --hard HEAD-

5、通过commit id 回到未来的版本

git reset --hard <commit id>(不需要写全)

6、要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本

git reflog     查看命令历史

五、工作区和暂存区

1、在电脑能看到的目录即为工作区

2、版本库:

  (1)工作区中有一个.git文件,这个就是版本库

  (2)Git的版本库最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

3、文件往版本库中存的时候:

  第一步   git add   将文件存入stack

  第二部   git commit   将stack的所有内容存入当前分支

六、管理修改:

1、为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。

2、eg:  第一次修改 -> git add -> 第二次修改 -> git commit

  明显可以看出来,第二次修改是无效的,因为没有加入到暂存器,所以git管理的时候是管理修改,而不是那个文件。

3、查看版本库和工作区文件的区别

git diff HEAD --<filename>

七、撤销修改

1、撤销工作区的修改

git checkout -- <filename>

  把<filename>在工作区的修改全部撤销:

(1)自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态

(2)已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态

  总之,就是让文件回到git add 或者git commit的上一个状态

2、撤销暂存区的修改

git reset HEAD <filename>

  现在暂存区是干净的,工作区有修改,所以可以再通过1操作回退,或者直接进行修改工作区

3、已经提交了不合适的修改到版本库时,想要撤销本次提交,只能进行版本回退,不过前提是没有推送到远程库。

八、删除文件

  在文件管理器中,使用

rm <filename>  

  如果要确定要删除,则

git rm
git commit

  另一种情况是删除错误,则使用git恢复

git checkout -- <filename>

git学习笔记(二)—— 创建版本库&&版本管理的更多相关文章

  1. Git学习笔记一--创建版本库、添加文件、提交文件等

    Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...

  2. Git 学习(二)版本库创建

    Git 版本库创建 什么是版本库(repository)? 可理解为文件仓库.由Git管理每个文件的新增.修改及删除,但这个仓库可以追溯历史.可还原至任意历史节点. 版本库创建 创建一个版本库非常简单 ...

  3. Git学习笔记02-创建版本库

    版本库就是一个目录,这个目录里面的所有文件都会被Git管理,每个文件的修改,删除都能追踪.以便在某个时刻追踪历史记录,或者还原 路径切换,查看文件命令和linux差不多,cd 文件路径  ls查看路径 ...

  4. Git版本控制工具(一)----git的安装及创建版本库

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  5. Git使用(二)版本库创建及文件修改

    一.创建版本库 1.安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ gi ...

  6. git入门 创建版本库, 版本管理 分支 标签

    参考: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GIT最流行的分布式版本 ...

  7. git使用(二)----创建版本库

    创建版本库(操作都是在linux环境下) 什么是版本库呢?版本库又名仓库,英文名repository,其实就是一个目录,可以进行增删查改 创建一个目录,这里在根目录下创建一个git_home目录mkd ...

  8. Git学习笔记 (二)

    Git学习笔记(二) 突然发现,学习新知识新技能,都得经常温故使用,这样才能日益精进.最近学习的Git是因为加入了课题组,在学习做一些后台,由于后台开发会牵扯到多人开发,所以学会Git这一代码管理工具 ...

  9. Ubuntu下Git的使用之创建版本库

    创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...

随机推荐

  1. Docker登录失败

      % docker login Username: xxxx Password: Email: xxxxxxx@yahoo.co.jp FATA[0033] Error response from ...

  2. 火星坐标、百度坐标、WGS84坐标转换代码(JS、python版)

    火星坐标.百度坐标.WGS84坐标转换代码(JS.python版) 一.JS版本源码 github:https://github.com/wandergis/coordTransform /** * ...

  3. 使用jstl报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar错误

    今天创建了一个maven项目,想使用jstl报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the ...

  4. Array、ArrayList、List、IEnumerable、for、foreach应用

    一.Array 类 (System) 声明数组(本身也是一种变量,要先声明再使用) 1.声明数组的语法,数组大小由长度绝定: 数据类型 [] 数组名: 如: string[] student; //字 ...

  5. Go语言类型转换库【github.com/demdxx/gocast】的用法

    一.导入库: go get github.com/demdxx/gocast 二.测试代码: // main.go package main import ( "fmt" &quo ...

  6. 无法将 Ethernet0连接到虚拟网络 VMnet8 以及无法使用桥接的详细解决步骤

    前言 首先我们需要明确如下表所示的对应关系: 网络类型 网络适配器名 Bridged   VMnet0 NAT   VMnet8 Host-only      VMnet1   解决"无法将 ...

  7. 来自Unix/Linux的编程启发录

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家公布重点内容 2017年第一篇文章,祝各位好友新年快乐. 年前因为不小心坐到了自己左手大拇指导致轻微的骨裂,没有按时更新,实在是羞愧.今年 ...

  8. SSM实战——秒杀系统之创建项目、管理依赖、设计数据库

    注:本项目使用Myeclipse开发. 一:项目创建 1:使用Myeclipse创建一个web project,命名为MySeckill,并转换为Maven项目. 2:创建项目文件目录如下: 上面四个 ...

  9. Oracle列自增实现(2)-Identity Columns in Oracle Database 12c Release 1 (12.1)

    Oracle列自增-Identity Columns in Oracle Database 12c Release 1 (12.1) 在ORACLE 12C以前的版本中,如果要实现列自增长,需要通过序 ...

  10. UVA 10733 - The Colored Cubes(Ploya)

    UVA 10733 - The Colored Cubes 题目链接 题意:一个立方体.n种颜色,问能涂成多少不同立方体 思路:Ploya求解,正方体相应24种不同旋转一一计算出循环个数就可以.和 U ...