Git rev-parse: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Internal=
=Internal=
* [[Git_Commands#Local_Repository_Information|Git Commands]]
* [[Git_Commands#Local_Repository_Information|Git Commands]]
* [[Git_branch#List_the_Currently_Checked_Out_Branch|git branch]]


=Overview=
=Overview=


=Return the Value of $GIT_DIR=
=Currently Checked Out Branch=
 
Return the currently checked out branch in the current work tree:
 
<syntaxhighlight lang='bash'>
git rev-parse --abbrev-ref HEAD
</syntaxhighlight>
See [[Getting the Current Git Branch]] for alternatives.
 
=Current Commit=


<syntaxhighlight lang='bash'>
git rev-parse HEAD
</syntaxhighlight>
=Other Options=
==--git-dir==
<syntaxhighlight lang='bash'>
<syntaxhighlight lang='bash'>
git rev-parse --git-dir
git rev-parse --git-dir
</syntaxhighlight>
</syntaxhighlight>


If inside a git work area, return the relative path of [[Git_Environment_Variables#GIT_DIR|$GIT_DIR]] (.git in the root of the work area, absolute path from other location).
If inside the root of the main work tree, return the relative path of [[Git_Environment_Variables#GIT_DIR|$GIT_DIR]]:
<syntaxhighlight lang='bash'>
.git
</syntaxhighlight>
 
If inside of a subdirectory of the main work tree, return the absolute path of [[Git_Environment_Variables#GIT_DIR|$GIT_DIR]]:
<syntaxhighlight lang='bash'>
/Users/someuser/my-repo/.git
</syntaxhighlight>
 
If inside a linked work tree, either root or any of its subdirectories, return the absolute path of the [[Git_Concepts#Linked_Tree_Private_Subdirectory|linked tree private subdirectory]] in the $GIT_DIR of the repository (main work tree):
<syntaxhighlight lang='bash'>
/Users/someuser/my-repo/.git/worktrees/my-linked-tree
</syntaxhighlight>
 
Sends
<syntaxhighlight lang='text'>
"fatal: not a git repository (or any of the parent directories): .git"
</syntaxhighlight>
to stderr and return 128 return code if not in a git work area.
 
==--is-inside-work-tree==
 
Returns true if inside a working tree, including the [[Git_Concepts#Main_Working_Tree|main working tree]].
 
==--show-prefix==
When the command is invoked from a subdirectory, show the path of the current directory relative to the top-level directory. Works for both main work tree and linked trees. When in the root of the directory, produces empty string.
 
==--show-toplevel==
Show the absolute path of the top-level directory.


Sends "fatal: not a git repository (or any of the parent directories): .git" to stderr and return 128 return code if not in a git work area.
==--show-cdup==
When the command is invoked from a subdirectory, show the path of the top-level directory relative to the current directory (typically a sequence of "../", or an empty string).

Latest revision as of 07:03, 24 July 2020

Internal

Overview

Currently Checked Out Branch

Return the currently checked out branch in the current work tree:

git rev-parse --abbrev-ref HEAD

See Getting the Current Git Branch for alternatives.

Current Commit

git rev-parse HEAD

Other Options

--git-dir

git rev-parse --git-dir

If inside the root of the main work tree, return the relative path of $GIT_DIR:

.git

If inside of a subdirectory of the main work tree, return the absolute path of $GIT_DIR:

/Users/someuser/my-repo/.git

If inside a linked work tree, either root or any of its subdirectories, return the absolute path of the linked tree private subdirectory in the $GIT_DIR of the repository (main work tree):

/Users/someuser/my-repo/.git/worktrees/my-linked-tree

Sends

"fatal: not a git repository (or any of the parent directories): .git"

to stderr and return 128 return code if not in a git work area.

--is-inside-work-tree

Returns true if inside a working tree, including the main working tree.

--show-prefix

When the command is invoked from a subdirectory, show the path of the current directory relative to the top-level directory. Works for both main work tree and linked trees. When in the root of the directory, produces empty string.

--show-toplevel

Show the absolute path of the top-level directory.

--show-cdup

When the command is invoked from a subdirectory, show the path of the top-level directory relative to the current directory (typically a sequence of "../", or an empty string).