当前位置: 首页 > news >正文

Git本地\远程分支区分查找

//1. 查看分支
使用 git branch 命令可以查看本地分支。当前分支前面会有一个星号(*)。
使用 git branch -r 命令可以查看远程分支(线上分支)。
使用 git branch -a 命令可以查看所有分支(包括本地和远程)。

2. 分支命名约定
通常,远程分支会以远程仓库的名称(默认为origin)作为前缀,
例如:origin/main、origin/develop。
本地分支则没有这个前缀,例如:main、develop。
3. 示例
假设我们有一个仓库,本地分支有 main 和 feature,远程分支有 origin/main 和 origin/develop。

查看本地分支:

$ git branch例子:
* maindevelopfeature/login

查看远程分支:

$ git branch -r输出例子:
origin/HEAD -> origin/main
origin/main
origin/develop
origin/feature/payment

查看所有分支:

$ git branch -a
例子:
* maindevelopfeature/loginremotes/origin/HEAD -> origin/mainremotes/origin/mainremotes/origin/developremotes/origin/feature/payment

2. 命名约定区分
Git 使用特定的命名约定来区分本地和远程分支:

本地分支:直接使用分支名称,如 main、develop、feature/login

远程分支:使用 远程仓库名/分支名 的格式,如 origin/main、origin/develop

常见的远程仓库名称:

origin - 默认的远程仓库名称

upstream - 常用于指向原始仓库(当你 fork 了一个项目时)

3. 查看分支详细信息

使用 git show-branch 命令可以查看分支的更多信息:

git show-branch

使用 git branch -vv 命令可以查看本地分支与远程分支的跟踪关系:

git branch -vv输出例子:
* main      abc1234 [origin/main] Commit messagedevelop   def5678 [origin/develop] Another commitfeature   ghi9012 [origin/feature: ahead 2] Local changes在这个输出中:[origin/main] 表示本地 main 分支跟踪远程 origin/main 分支ahead 2 表示本地分支有 2 个提交尚未推送到远程

4. 查看远程仓库信息
使用 git remote show 命令查看远程仓库的详细信息:

git remote show origin

6. 创建和切换分支时的区分
创建本地分支:git branch new-feature

创建并切换到本地分支:git checkout -b new-feature

基于远程分支创建本地分支:git checkout -b local-feature origin/remote-feature

总结

区分本地和远程分支的关键点:
命名约定:远程分支有 远程名/ 前缀(如 origin/main)
查看命令:

git branch - 只显示本地分支git branch -r - 只显示远程分支git branch -a - 显示所有分支

跟踪关系:使用 git branch -vv 查看本地分支与远程分支的关联

警告

记住,本地分支是你本地仓库中的分支,而远程分支是存储在远程服务器(如 GitHub、GitLab)上的分支副本。当你推送(git push)时,会将本地分支的变化更新到远程分支;当你拉取(git pull)时,会将远程分支的变化合并到本地分支。

4. 切换和创建分支

当你要在远程分支的基础上创建本地分支时,通常的做法是:

首先,使用 git fetch 获取远程分支的最新信息。

然后,使用 git checkout -b <本地分支名> <远程分支名> 来创建并切换到一个新的本地分支,该分支跟踪对应的远程分支。

例如,要基于远程分支 origin/develop 创建一个本地分支 develop 并切换过去:

git checkout -b develop origin/develop
http://www.dtcms.com/a/389768.html

相关文章:

  • 从零开始手写机器学习框架:我的深度学习之旅——开启深度学习的底层探索
  • QT的部件
  • Ubuntu20.04仿真 | iris四旋翼添加双目相机D435i
  • eSIM时代来临!iPhone Air引爆无卡化革命
  • openkylin、ubuntu22部署opencv4.8.0
  • 各省产业结构合理化-摩尔(Moore)指数 1999-2023年
  • 【win10、win11】永久关闭自动更新
  • Linux基础实践(基于Ubuntu系统)
  • 线性控制理论:线性系统状态空间
  • OpenAI最新研究:为什么语言模型会产生幻觉
  • 人工智能通识与实践 - 自然语言处理
  • Coze源码分析-资源库-创建工作流-后端源码-安全/错误/流程
  • OneTerm开源堡垒机实战(四):访问授权与安全管控
  • 【赵渝强老师】基于PostgreSQL的MPP集群:Greenplum
  • leetCode算法题记录:27.移除元素
  • 自动化运维工具ansible
  • Roo Code 设置导入、导出与重置
  • 视觉检测技术讲解
  • LibreCAD-2.2+QT5.12+RTKLIB2.4.3
  • Pydantic Schemas 及其在 FastAPI 中的作用
  • SMS05 TVS二极管阵列的ESD和闭锁保护SOT23-6封装
  • Stream的常用API应用场景
  • 【DMA】DMA实战:用DMA操控外设
  • 深入理解传输层协议:UDP 与 TCP 的核心原理与应用
  • 教育行业数字化资料管理:构建安全合规、高效协同的一体化知识共享平台
  • Smart Launcher安卓版(安卓桌面启动器):安卓设备的智能启动器
  • Ansible如何写Callback 插件
  • 自动化测试框架需要具备哪些功能?
  • Pix2Pix中的对抗损失与L1损失:高频细节与低频结构的平衡艺术
  • mkcert生成证书本地或内网使用https