趋近智
origin 和 upstream在本地 Git 仓库中管理不同的开发路径时,需要一种有效的方法来查看所有可用分支。Git 提供了 git branch <branch-name> 命令来创建新分支,并允许使用 git switch <branch-name>(或旧版 git checkout <branch-name>)来切换分支。跟踪这些分支对于有效管理工作和理解项目结构至关重要。
git branch 命令查看本地分支最简单的方法是运行不带任何参数的 git branch 命令:
git branch
此命令会列出本地仓库中存在的所有分支。Git 还会通过在其名称旁放置星号 (*) 并通常用不同颜色(取决于你的终端配置)突出显示来指示你当前正在处理的分支。
例如,如果你有一个 main 分支和一个 feature-login 分支,并且你当前正在 feature-login 上工作,输出可能如下所示:
main
* feature-login
这表示存在两个本地分支(main 和 feature-login),并且你的工作目录当前反映了 feature-login 分支的状态。你现在进行的任何提交都将添加到 feature-login 分支的历史记录中。
通常,你会使用连接到远程服务器(如 GitHub 或 GitLab)的仓库,这将在即将到来的关于远程仓库的章节中进行讨论。Git 使用一种特殊的引用,称为 远程跟踪分支,来跟踪远程服务器上分支的状态。这些就像本地书签,显示你上次与远程通信(例如,使用 git fetch 或 git pull)时远程分支所处的位置。
要只查看这些远程跟踪分支,你可以使用 -r(表示“remote”)标志:
git branch -r
输出通常会在分支名称前加上远程仓库的名称(通常是 origin)。
origin/HEAD -> origin/main
origin/main
origin/develop
origin/feature-login
这里,origin/main 和 origin/develop 代表 main 和 develop 分支在 origin 远程上的状态。origin/HEAD 是一个特殊指针,通常指示远程上的默认分支。请注意,这些不是 你的 本地分支;它们反映的是远程仓库的状态。
要获取所有分支的完整视图,包括本地和远程跟踪分支,请使用 -a(表示“all”)标志:
git branch -a
此命令结合了 git branch 和 git branch -r 的输出,为你提供一个综合列表。
main
* feature-login
remotes/origin/HEAD -> origin/main
remotes/origin/main
remotes/origin/develop
remotes/origin/feature-login
你可以看到你的本地分支(main、feature-login)和远程跟踪分支(以 remotes/origin/ 为前缀)。这对于将你的本地工作与远程仓库的状态进行比较特别有用。
有时,只看到分支名称是不够的。你可能想知道每个分支上的最新提交是什么。-v(表示“verbose”)标志提供了这些信息,显示每个分支上最新提交的短 SHA-1 哈希值和主题行:
git branch -v
main a1b2c3d Initial project setup
* feature-login e4f5g6h Add login form fields
再添加一个 v (-vv) 会提供更详细的信息,包括你的本地分支正在跟踪的上游分支(如果有),这在处理远程仓库时很有帮助。
git branch -vv
main a1b2c3d [origin/main] Initial project setup
* feature-login e4f5g6h [origin/feature-login: ahead 1] Add login form fields
此输出告诉你 main 正在跟踪 origin/main 并且是最新的,而 feature-login 正在跟踪 origin/feature-login 并有一个提交(ahead 1)尚未推送到远程仓库。
总而言之,git branch 命令及其 -r、-a 和 -v/-vv 选项提供了查看仓库中不同开发线的重要工具,帮助你有效地使用和管理工作。
这部分内容有帮助吗?
git branch 命令的官方和全面参考资料,详细介绍了其所有功能和用于列出本地及远程分支的选项。© 2026 ApX Machine Learning用心打造