1. 程式人生 > >[轉]git學習------>git-rev-parse命令初識

[轉]git學習------>git-rev-parse命令初識

south you sha tree ase txt文件 dsm imp num

git學習------>git-rev-parse命令初識

2017年06月13日 10:04:13 閱讀數:2172

一、準備工作

第一步:在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命令初識