git学习------>git-rev-parse命令初识

原创 2017年06月13日 10:04:13

一、准备工作

第一步:在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/

这里写图片描述

第二步:在工作区中创建一个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 613 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

这里写图片描述

第三步:在工作区中建立目录 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

这里写图片描述

二、 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

这里写图片描述

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

这里写图片描述

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/

这里写图片描述

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
../../../

这里写图片描述

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

这里写图片描述

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

这里写图片描述

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

这里写图片描述

目前还未建立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

这里写图片描述

git rev-parse –help

git rev-parse命令还有很多种用法,大家可以使用git rev-parse --help命令打开帮助文档,
这里写图片描述

这里写图片描述

或者打开 在线文档 https://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html

参考链接

https://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html
http://docs.oracle.com/cd/E56344_01/html/E54075/git-rev-parse-1.html
http://blog.chinaunix.net/uid-27714502-id-3435772.html
http://blog.csdn.net/agul_/article/details/7842885

这里写图片描述

作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:http://blog.csdn.net/ouyang_peng/article/details/72903221

如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。

这里写图片描述

版权声明:本文为【欧阳鹏】原创文章,欢迎转载,转载请注明出处! 【http://blog.csdn.net/ouyang_peng】

关于git命令“git rev-parse --short HEAD”在android studio中使用与配置的个人探究

写在前面 写的比较详细,本人对这方面了解还不够,权当做个记录了。 微信团队的Android热修复框架Tinker里面有这样一行代码: def gitSha() { return 'git ...

git初识和常用命令

1、git为分布式版本控制系统. 2、git的特点 3、git常用命令

Git学习总结(2)——初识 GitHub

1. 写在前面 我一直认为 GitHub 是程序员必备技能,程序员应该没有不知道 GitHub 的才对,没想到这两天留言里给我留言最多的就是想让我写关于 GitHub 的教程,说看了不少资料还是...

git学习笔记(一):初识

楼主以前一直使用的是SVN,没接触过git,但最近项目有用到,还是整理下吧~   1、什么是git? Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一...

git github 初识——安装与学习资源

说明版本控制一直有用,但也只是停留在很基础的使用上,遇到一些比较复杂的情景经常犯懵,为了补上这一块的基础不扎实,最近开始对这部分进行一些学习。之前项目中一直使用SVN,接触过github,并有一点点使...

2-23 学习备忘 GIT以及FLASK初识

上学期在学Django,各种卡壳,然后看了些教程都说先上手flask好一点,于是就先上手这本书了《FlaskWeb开发:基于Python的web应用开发实战》 1. 安装Flask最便捷的方式就是...

Android开发学习之路 -- 初识版本控制工具Git

说到Git,对于新手的你可能不太了解,但是,如果说到Linux,那就是再熟悉不过的事情了。那么,Git和Linux有什么关联呢? 其实,Git是Linux Torvalds(他最重要的两个贡献,一个是...
  • Ace_312
  • Ace_312
  • 2016年08月31日 15:53
  • 290

初识 Git(1)

本系列文章内容参考自《Pro Git》一书(强烈推荐) 该书已被翻译成多种语言,这里有简体中文版的阅读以及PDF免费下载:传送门 本文作为开篇,从版本控制的背景知识开始,先介绍一些基础内容 (一)...

Git初识(二)

Git的学习,我觉得就应该像追一个妹子一样,锲而不舍,哦对了,Git没有妹子那么捉摸不透。 基本的操作基本已经规范化了。...
  • gkkk_1
  • gkkk_1
  • 2017年07月12日 17:21
  • 158

Git初识(一)

Git,作为一个码农,刚开始的话,对Git和Svn仅仅处于简单的基本会使用, 基本可以找到冲突并解决冲突的程度。本人觉得,这个技术飞速更新的年代,需要跟上时代的步伐,...
  • gkkk_1
  • gkkk_1
  • 2017年07月11日 16:55
  • 119
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git学习------>git-rev-parse命令初识
举报原因:
原因补充:

(最多只允许输入30个字)