要查看 Mac 上某个终端窗口对应的 Git 分支,请在该窗口中运行 git branch --show-current。Git 会输出该 Shell 当前所在仓库检出的分支。如果没有任何输出,检出状态可能处于分离 HEAD 状态;如果 Git 提示不是仓库,请先检查该窗口当前所在的目录。

检查当前终端窗口中的分支

点击要确认的终端窗口,输入以下命令并按回车键(Return):

git branch --show-current

例如,输出 feature/search 表示该 Shell 处于已检出该分支的 Git 工作区中。该命令仅报告当前分支名称,而不会列出所有分支。根据 Git 文档说明,在分离 HEAD 状态下(即检出直接指向某个提交而非具名分支时),该命令不会输出任何内容。Git 的 git branch 文档

该结果仅适用于运行命令时所在的目录。每个终端窗口或标签页都可以有不同的当前目录,因此请务必在需要检查的具体窗口中运行该命令。如果您打开了多个相似的窗口,请在操作前同时确认项目目录和分支。

确认窗口当前所在的项目

运行 pwd 查看 Shell 的当前目录。然后使用 Git 识别工作树的顶层目录:

pwd
git rev-parse --show-toplevel

第一条命令显示当前位置;第二条命令在当前目录属于工作区时输出仓库根目录。Git 文档指出,如果不存在工作区,--show-toplevel 会报错。Git 的 git rev-parse 文档

当两个项目使用相似的分支名称,或者 Shell 位于深层嵌套的文件夹中时,此项额外检查非常有用。即使在仓库的子目录下,Git 仍能识别包含它的工作区及其检出的分支。该路径有助于证明您当前查看的是哪个项目;单纯的分支命令无法通过名称识别项目。

使用 git status 进行二次确认

如需进行快速综合检查,请运行:

git status -sb

带有 -b 的简短状态格式包含分支信息行以及紧凑的文件变更摘要。例如,## main 表示分支为 main;附加文本可能会说明跟踪状态。git status 还能帮助您在继续操作之前注意到已修改、已暂存或未跟踪的文件。Git 文档说明,-b 以简短格式显示分支和跟踪信息。Git 的 git status 文档

分支识别与文件状态解决的是不同的问题。分支名称告诉您检出的是哪个具名分支;其余的状态输出则告诉您工作区中是否有改动。干净的状态并不代表分支与远程保持最新,单凭分支名称也无法得知文件是否已被编辑。

如果命令没有显示分支

如果 Git 提示当前目录不是仓库,该 Shell 可能位于个人主目录、其他项目或工作区之外的目录中。使用 pwd 查看当前所在位置。如果您知道该项目的路径,请使用 cd 切换到该目录并再次运行分支命令。例如,将示例路径替换为您实际的项目路径:

cd ~/Projects/sample-project
git branch --show-current

如果您已经在仓库中,但分支命令没有返回任何文本,请检查 git status -sb。Git 文档中说明的 --show-current 行为是在分离 HEAD 状态下不输出任何内容。此时状态输出可能会显示 (HEAD detached at ...);在这种状态下,没有可报告的当前本地分支名称。切勿凭记忆将上次使用的分支误当作当前分支。

让项目在终端中更易于识别

macOS 终端可以在窗口或标签页标题中显示工作目录。要进行配置,请打开 终端 > 设置,选择 描述文件,选中该窗口正在使用的描述文件,然后点击 窗口 选择要在标题中显示的信息,如工作目录或其完整路径。标签页标题在 描述文件 > 标签页 下有其独立的设置。Apple 指出,描述文件设置仅适用于所选的描述文件,因此如果标题没有变化,请检查当前生效的描述文件。Apple 终端窗口标题指南 以及 Apple 终端标签页标题指南

目录标题有助于区分项目位置,但其本身并不显示 Git 分支。要准确确认分支,请在对应窗口中运行 git branch --show-current;如果您还想快速查看文件变更和跟踪信息,可以使用 git status -sb。

参考来源