[轉]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命令打開幫助文檔, 
這里寫圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM