Git学习(一):初始化仓库、添加文件、版本回退
Git学习(一):初始化、添加文件、版本回退
初始化一个仓库
本文使用的命令行工具为cmder,部分显示可能和cmd不同,但结果是一样的
初始化一个Git仓库,使用git init命令。在cmder软件下初始化git后,目录后面会多出这么一串字符(master -> origin)

切换到非Git仓库路径时,后面是没有这串字符的

会在当前目录下生成一个.git 文件夹

若想取消初始化,删除改文件夹即可 rm -rf .git ,删除后git目录后面的 (master -> origin) 也不见了

添加文件到Git仓库
首先创建一个文本文件
vim test.txt
内容为:
Hello Git!
这里发现,当Git仓库内增加了文件时,cmder目录后面显示的字符串颜色发生了变化

接下来添加到Git仓库,分两步:
使用命令
git add <filename>,注意,可反复多次使用,添加多个文件;
使用命令
git commit -m <message>,完成。(message为提交文件的描述信息,以便获知变更内容)如图,提交成功,同时在cmder软件下,提交后目录名后面的字符串颜色变回原来的白色

git status命令可以让我们时刻掌握仓库当前的状态
修改文件信息,第二行添加内容
This twoline
然后执行 git status查看仓库状态

然后将文件改动提交,再次查看

这里可以发现cmder这个软件会自动判断Git仓库的文件状态,在提交后目录后面的字符串又变回了无变化的白色
如果想查看具体修改了什么内容需要用git diff这个命令

这里没有显示信息是因为我们已经提交过了
进入文件将刚才加入的第二行内容删除后再次查看

前面有个- 表示第二行的内容被删除
版本回退
在Git中,我们可以用git log命令查看历史版本信息
git log命令显示从最近到最远的提交日志

图中一大串类似97d9e...的是commit id(版本号),是一个SHA1计算出来的一个非常大的数字,用十六进制表示
这里如果嫌输出信息太多,可以试试加上--pretty=oneline参数,每次提交只显示一行内容
这里我们先把刚刚删除的操作提交再加上--pretty=oneline参数查看:

HEAD 指的是最近一次的提交,所以这里 HEAD 变成了刚刚的这次提交
同时,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^太过麻烦,所以写成HEAD~100
回退版本之前我们先随便添加一些内容在test.txt文件中提交:


接下来我们使用使用git reset --head HEAD^^命令来回退test.txt文件到上一个版本:

**git reset 用法如下:**
用法:git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<提交>]
或:git reset [-q] [<树或提交>] [--] <路径>...
或:git reset --patch [<树或提交>] [--] [<路径>...]
-q, --quiet 安静模式,只报告错误
--mixed 重置 HEAD 和索引
--soft 只重置 HEAD
--hard 重置 HEAD、索引和工作区
--merge 重置 HEAD、索引和工作区
--keep 重置 HEAD 但保存本地变更
--recurse-submodules[=<reset>]
control recursive updating of submodules
-p, --patch 交互式挑选数据块
-N, --intent-to-add 将删除的路径标记为稍后添加
Git学习(一):初始化仓库、添加文件、版本回退的更多相关文章
- git学习--更新本地仓库单独文件
命令: git checkout origin/dev .gitignore 从远端 dev 仓库,更新本地签出分支的 .gitignore 文件
- git学习记录——基础概念和文件的基本操作
夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...
- Git学习总结一(下载、初始化、添加文件)
Git下载地址 安装完成后,还需要最后一步设置,在命令行输入: $ git config --global user.name "Your Name" $ git config - ...
- Git及基础命令的介绍以及如何向本地仓库添加文件
在介绍Git的使用之前,我们得要先来了解一下Git.那么什么是Git? Git是一个版本管理工具(VCS),具有以下的特点: 分布式版本控制: 多个开发人员协调工作: 有效监听谁做的修改: 本地及远程 ...
- Git学习——创建本地仓库、提交文件
创建Git仓库 新建或找一个存在的文件夹,在命令行进入该文件夹,输入命令 git init 添加文件到Git仓库 首先使用命令git add <file>,可以多次添加文件: 使用命令gi ...
- GIt学习之路 第二天 创建版本库
本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 创建版本库 阅读: 1859216 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文 ...
- GIt学习第一天之安装和版本库创建
搬运自 ‘廖雪峰的官方网站’ 1.git安装 官网下载地址:https://git-scm.com/download/win 百度网盘下载地址:https://pan.baidu.com/s/1k ...
- git学习笔记(二)—— 创建版本库&&版本管理
一.创建版本库 创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: mkdir gitHub_CXWcd gitHub_CXW git init Initialized empty G ...
- Git 提交更新到仓库(分布式版本控制系统)
1.Git 文件生命周期 工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪. 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改 ...
随机推荐
- 是时候理解下HTTPS的原理及流程了
1.什么是HTTP协议? HTTP协议是Hyper Text Transfer Protocol(超文本传输协议),位于TCP/IP模型当中的应用层.HTTP协议通过请求/响应的方式,在客户端和服务端 ...
- Var的用法解析
C#关键字是伴随着.NET 3.5以后,伴随着匿名函数.LINQ而来, 由编译器帮我们推断具体的类型.总体来说,当一个变量是局部变量(不包括类级别的变量),并且在声明的时候初始化,是使用var关键字的 ...
- 浅谈background-size的几个属性值
前言: css应用中,我们常会碰到background-size的用法,不妨下面总结一下,以便后续查看. 一.先弄个简单的box框. <!DOCTYPE html> <html la ...
- 4月25日课上练习 一维数组最大子数组(debug版)
一维数组中求最大子数组的算法 package com.wangwang.mar; import java.util.Scanner; public class Sum { public static ...
- Python3 视频教程,全网最全的视频教程,爬虫,从入门到实战
需要联系我:QQ:1844912514 最新Python基础班+就业班视频教程 链接: python分布式爬虫打造搜索引擎链接: https://pan.baidu.com/s/1N7HL7U0gQX ...
- 极简Python DeBug工具——PySnooper
DeBug Python 代码的方式有很多种?比如: (1)设置断点 (2)print函数 (3)... 本文要介绍的是一个新开源的项目PySnooper ,只要给有疑问的代码加上装饰器,各种信息一目 ...
- Windows kafka_2.11-1.1.0安装
#broker.id= #broker.list=,, listeners=PLAINTEXT://127.0.0.1:9092 advertised.listeners=PLAINTEXT://12 ...
- centos7之zabbix3.2代理(zabbix-proxy)搭建
zabbix的强大之处也在于它是分布式监控系统,对于多机房大集群情况下,肯定不是一台zabbix-server服务器来进行信息的收集等工作,就要用到代理了.在记录zabbix-proxy之前,要系统的 ...
- Ffmpeg使用
ffmpeg官网 刚开始安装的推荐博客|--利用FFmpeg 开发音视频流:一.二.三 1.分辨率码率 主要视频格式与码率: 分辨率 200p——对应的码率是256kpbs,也就是说,一分钟需要流量1 ...
- python 学习三
list循环删除下标会出错 L = [1,1,1,2,3,4,5]#list是根据下标来取值 #下标0,1,2,3,4,5,6 循环后下标错位 输出的结果是[1,2,4],把1也取到了 #l2 = [ ...