如何在git中获取HEAD的当前状态?

Jan*_*hoł 0 git

例如,如果我在一个分支上,我想获取分支名称。但如果我处于分离的 HEAD 状态,我想获取提交 id。

基本上,我正在寻找一个.git/HEAD文件界面。我知道我可以做到cat这一点,但也许有一个命令可以为我做到这一点(这样我就不必处理边缘情况,例如GIT_DIR不在里面GIT_WORK_TREE等)

Sar*_*iev 5

如果您使用 git 补全https://github.com/git/git/blob/master/contrib/completion/git-completion.bash。通常会自动安装。

你可以打电话

echo $(__git_ps1 '%s')
Run Code Online (Sandbox Code Playgroud)

否则使用。

git symbolic-ref --short HEAD 2> /dev/null || git rev-parse HEAD
Run Code Online (Sandbox Code Playgroud)