Git rev-parse: Difference between revisions
(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 | =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 | 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. | |||
==--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).