Git rev-parse: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 5: Line 5:
=Overview=
=Overview=


=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  
Sends  
Line 19: Line 47:
to stderr and return 128 return code if not in a git work area.
to stderr and return 128 return code if not in a git work area.


=Currently Checked Out Branch=
==--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.


Return the currently checked out branch in the current work tree:
==--show-toplevel==
Show the absolute path of the top-level directory.


<syntaxhighlight lang='bash'>
==--show-cdup==
git rev-parse --abbrev-ref HEAD
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).
</syntaxhighlight>

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