[转]git学习------>git-rev-parse命令初识
git学习------>git-rev-parse命令初识
一、准备工作
第一步:在d盘git test目录下,新建工作区根目录demo,进入该目录后,执行git init创建版本库。
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test
$ mkdir demo
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test
$ cd demo/
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo
$ git init
Initialized empty Git repository in D:/git test/demo/.git/
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
第二步:在工作区中创建一个welcom.txt文件,内容就是“hello .”,然后将该文件加入到git版本库中。
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ echo "hello ." > welcome.txt
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ ll
total 1
-rw-r--r-- 1 DH207891+OuyangPeng 197609 8 6月 13 08:45 welcome.txt
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ git add welcome.txt
warning: LF will be replaced by CRLF in welcome.txt.
The file will have its original line endings in your working directory.
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ git st
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: welcome.txt
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ git ci -m "Initialized"
[master (root-commit) 89c9fa6] Initialized
1 file changed, 1 insertion(+)
create mode 100644 welcome.txt
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ git log
commit 89c9fa626e7d56c686e904ba34b8e21e9aaf43d8
Author: ouyangpeng <oypcz@foxmail.com>
Date: Tue Jun 13 08:46:17 2017 +0800
Initialized
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
第三步:在工作区中建立目录 a/b/c,进入到该目录中。
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ mkdir -p a/b/c
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo (master)
$ cd a/b/c/
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ pwd
/d/git test/demo/a/b/c
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
二、 git rev-parse 命令
git rev-parse –git-dir
显示版本库.git命令所在的位置,执行命令 git rev-parse --git-dir
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse --git-dir
D:/git test/demo/.git
- 1
- 2
- 3
- 4
git rev-parse –show-toplevel
显示工作区根目录,执行命令 git rev-parse --show-toplevel
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse --show-toplevel
D:/git test/demo
- 1
- 2
- 3
- 4
git rev-parse –show-prefix
显示相对于工作区根目录的相对路径,执行命令 git rev-parse --show-prefix
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse --show-prefix
a/b/c/
- 1
- 2
- 3
- 4
git rev-parse –show-cdup
显示从当前目录(cd)后退(up)到工作区的根目录的深度,执行命令 git rev-parse --show-cdup
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse --show-cdup
../../../
- 1
- 2
- 3
- 4
git rev-parse –local-env-vars
显示git环境变量列表的本地库,只列出变量的名称,而不是它们的值。执行命令git rev-parse --local-env-vars
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse --local-env-vars
GIT_ALTERNATE_OBJECT_DIRECTORIES
GIT_CONFIG
GIT_CONFIG_PARAMETERS
GIT_OBJECT_DIRECTORY
GIT_DIR
GIT_WORK_TREE
GIT_IMPLICIT_WORK_TREE
GIT_GRAFT_FILE
GIT_INDEX_FILE
GIT_NO_REPLACE_OBJECTS
GIT_REPLACE_REF_BASE
GIT_PREFIX
GIT_INTERNAL_SUPER_PREFIX
GIT_SHALLOW_FILE
GIT_COMMON_DIR
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
git rev-parse –git-common-dir
如果GIT_COMMON_DIR变量定义了则展示GIT_COMMON_DIR变量的值,不然则展示GIT_DIR变量的值
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse --git-common-dir
a/b/c/.git
- 1
- 2
- 3
- 4
- 5
git rev-parse –symbolic –branches
显示分支,执行命令 git rev-parse --symbolic --branches
目前只有master一个分支,所以只显示master。
git rev-parse –symbolic –tags
显示里程碑,执行命令 git rev-parse --symbolic --tags
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse --symbolic --tags
- 1
- 2
- 3
目前还未建立TAG,所以没有值显示。
git rev-parse HEAD
显示HEAD提交的SHA1值,执行命令git rev-parse HEAD,如下所示,先执行git log命令查看提交记录,再执行命令git rev-parse HEAD
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git log
commit 89c9fa626e7d56c686e904ba34b8e21e9aaf43d8
Author: ouyangpeng <oypcz@foxmail.com>
Date: Tue Jun 13 08:46:17 2017 +0800
Initialized
DH207891+OuyangPeng@DH207891 MINGW32 /d/git test/demo/a/b/c (master)
$ git rev-parse HEAD
89c9fa626e7d56c686e904ba34b8e21e9aaf43d8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
git rev-parse –help
git rev-parse命令还有很多种用法,大家可以使用git rev-parse --help命令打开帮助文档,
[转]git学习------>git-rev-parse命令初识的更多相关文章
- Git学习-Git时光机之版本回退(二)
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛人该怎么定义? 零.结论先行 倒叙总结一下: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git ...
- git学习笔记:常用命令总结
本文根据廖雪峰的博客,记录下自己的学习笔记.主要记录常用的命令,包括仓库初始化.添加文件.提交修改.新建分支.内容暂存.分支管理.标签管理等内容. git是分布式版本控制系统. 首先是安装,从官网下载 ...
- git学习——git命令之创建版本库和版本退回
原文来至 一.创建版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追 ...
- Git学习总结(2)——初识 GitHub
1. 写在前面 我一直认为 GitHub 是程序员必备技能,程序员应该没有不知道 GitHub 的才对,没想到这两天留言里给我留言最多的就是想让我写关于 GitHub 的教程,说看了不少资料还是一头雾 ...
- Git学习之常用的命令
配置git git config --global user.name "你的github用户名" git config --global user.email "你的G ...
- git学习——Git 基础要点【转】
转自:http://blog.csdn.net/zeroboundary/article/details/10549555 简单地说,Git 究竟是怎样的一个系统呢?请注意,接下来的内容非常重要,若是 ...
- git学习——git理解和仓库的创建
一.git用的3个工作的状态的理解. 1. 工作区 workspace(modified); 2. 暂存区 stage(staged) ; 3. git本地仓库 repository(commited ...
- git学习——git下载安装
原文来至 一.集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中 ...
- git学习------>git commit命令的默认编辑器的修改
今天在新同事的电脑上,用git commit命令帮新同事提交代码的时候,编辑完commit的信息后,居然不记得怎么退出了.蛋疼. 后来百度了一下,原来此时是进入GUN nano编辑器.在这里可以添加你 ...
- GIT学习---GIT&github的使用
GIT&github入门 版本控制的原理: 根据md5进行文件的校验[MD5的特性就是每次的输入一致则输出也一致],对于每次的修改进行一次快照 版本控制的2个功能: 版本管理 + 协作开 ...
随机推荐
- Dubbo实践(五)扩展Spring Schema
先回顾Dubbo实践(一)中定义的dubbo-provider.xml: <?xml version="1.0" encoding="UTF-8"?> ...
- ORACLE NLS_LENGTH_SEMANTICS 参数的用途
NLS_LENGTH_SEMANTICS参数是一个专为创建CHAR和VARCHAR2两种字符型的列时,指定使用的字节长度,还是使用字符长度的定义方式,有byte和char两种值,默认为byte. 当设 ...
- EF Core 2.1 Raw SQL Queries (转自MSDN)
Entity Framework Core allows you to drop down to raw SQL queries when working with a relational data ...
- C#中如果用await关键字来await一个为null的Task对象会抛出异常
await & async模式是C#中一个很重要的特性,可以用来提高异步程序(多线程程序)的执行效率.但是如果尝试用await关键字来await一个为null的Task对象,会导致程序抛出Nu ...
- 映射篇:request-String-Object-Map之间相互转化(程序员的成长之路---第5篇)
为什么写这一篇 问题一:jdbc连接数据库返回的对象是ResultSet,如何把ResultSet对象中的值转换为我们自建的各种实体类? 我估计,80%的程序员会写jdbc数据库连接,但开发项目依然用 ...
- spring cloud config将配置存储在数据库中
Spring Cloud Config Server最常见是将配置文件放在本地或者远程Git仓库,放在本地是将将所有的配置文件统一写在Config Server工程目录下,如果需要修改配置,需要重启c ...
- Javascript--将十进制数字转换成罗马数字显示
下午在FCC(FreeCodeCamp)中文网上做到一道练习题:将给定的数字转换成罗马数字.折磨了一个多小时,终于能把基本功能给实现了.过程如下: 关于罗马数字 罗马数字的详细介绍可见百度,或者罗马数 ...
- cuda cudnn anaconda gcc tensorflow 安装及环境配置
1.首先,默认你已经装了适合你的显卡的nvidia驱动. 到 http://www.nvidia.com/Download/index.aspx 搜索你的显卡需要的驱动型号 那么接下来就是cuda的 ...
- echarts动态加载数据无法更新series 无法更新图表
最近遇到一个Echarts图表无法动态更新数据的问题 最初我在option中设置series的值为一个数组,想着通过修改数组来动态更新图表,但是没变 化,后来发觉是因为图表数据会和之前的合并 看官方的 ...
- 微信小程序实现转义换行符
在html中可以直接使用<br />换行,但是小程序wxml中使用<br />无效,可以换成\n Page({ data: { title: '至少5个字\n请多说些感受吧' ...