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

git branch

文章目录

  • 1.简介
  • 2.格式
  • 3.选项
  • 4.示例
  • 参考文献

1.简介

git branch 用于管理分支,包括查看、创建、删除、重命名和关联。

git branch 是 Git 版本控制系统中用于管理分支的命令。分支是 Git 的核心功能之一,允许开发者在同一个代码库中并行开发不同的功能或修复问题。

2.格式

git branch [--color[=<when>] | --no-color] [--show-current][-v [--abbrev=<n> | --no-abbrev]][--column[=<options>] | --no-column] [--sort=<key>][--merged [<commit>]] [--no-merged [<commit>]][--contains [<commit>]] [--no-contains [<commit>]][--points-at <object>] [--format=<format>][(-r | --remotes) | (-a | --all)][--list] [<pattern>…​]
git branch [--track[=(direct|inherit)] | --no-track] [-f][--recurse-submodules] <分支名> [<起始点>]
git branch (--set-upstream-to=<上游> | -u <上游>) [<分支名>]
git branch --unset-upstream [<分支名>]
git branch (-m | -M) [<旧分支>] <新分支>
git branch (-c | -C) [<旧分支>] <新分支>
git branch (-d | -D) [-r] <分支名>…​
git branch --edit-description [<分支名>]

3.选项

-a, --all列出所有分支(包括本地分支和远程跟踪分支)。
-r, --remotes仅列出远程跟踪分支。
-d, --delete删除指定的分支。如果分支未合并,Git 会拒绝删除。
-D强制删除分支,即使分支未合并。
-m, --move重命名分支。
-c复制分支。
--list列出本地分支(默认行为)。
--no-merged列出尚未合并到当前分支的分支。
--merged列出已经合并到当前分支的分支。
-v, --verbose显示每个分支的最新提交信息。
--set-upstream-to设置当前分支跟踪指定的远程分支。

4.示例

(1)查看分支。

# 查看本地分支
git branch# 查看远端分支
git branch -r# 查看所有分支
git branch -a# 查看本地分支 commit id 与 commit comment
git branch -v|--verbose# 查看本地分支commit id与commit comment,以及关联的上游分支
git branch -vv

(2)创建分支。

# 基于当前分支创建本地分支不切换
git branch <branchname># 基于当前分支创建本地分支并切换
git checkout -b <branchname>
# 或
git switch -c <branchName># 将创建的本地分支推送到远端,远端分支不存在则创建。
git push origin <local_branchname>:<remote_branchname>

(3)更新分支。

# 使用远端分支更新本地分支
git pull [远程仓库名] [远程分支名]:[本地分支名]# 使用关联的远端分支更新当前本地分支
git pull

(5)合并分支。

# 合并某分支到当前分支
git merge <srcbranch>

(6)删除分支。

# 删除本地分支
git branch (-d | --delete) <branchname># 强制删除本地分支
git branch (-D | -df | --delete --force)  <branchname># 删除远端分支
git push origin :<remote_branchname>
# 或
git push  origin (-d | --delete) <branchname># 注意,该命令无法删除远端分支,只是删除 git branch -r 列表中的远端追踪分支
git branch -dr origin/<branchname>

(7)本地分支关联远端分支。

# 第一种情况,远端分支已经存在。不指定 local_branchname 为当前分支。
git branch (--set-upstream-to=origin/<branchname> | -u origin/<branchname>) [<local_branchname>]# 第二种情况,远端分支不存在
# 1.将当前本地分支推送至远端并关联(远端分支与本地分支同名)
git push (-u | --set-upstream) origin HEAD# 2.将当前本地分支推送至远端并关联(指定远端分支名)
git push (-u | --set-upstream) origin <remote_branchname># 3.将本地分支推送至远端并关联(指定本地与远端分支名)
git push (-u | --set-upstream) origin <local_branchname>:<remote_branchname>

(8)删除本地分支与远端分支的关联。

git branch --unset-upstream [<local_branch>]

(9)重命名本地分支。

# 重命名当前分支
git branch (-m | --move) <newbranch># 重命名指定分支
git branch (-m | --move ) <oldbranch> <newbranch># 强制重命名本地分支
git branch (-M -f | --move --force) [<oldbranch>] <newbranch>

(10)重命名远端分支。

Git 没有直接修改远端分支名的命令,我们可以通过删除重建的方式来间接重命名远端分支。

# 先删除远端分支
git push origin -d <branch_name># 再重命名当前本地分支
git branch (-m | --move) <newbranch># 将当前本地分支推送至远端并关联
git push origin (-u | --set-upstream) HEAD

参考文献

git-branch - 列出、创建或删除分支

http://www.lryc.cn/news/542517.html

相关文章:

  • 算法-图-数据结构(邻接矩阵)-BFS广度优先遍历
  • 数学建模之数学模型—2:非线性规划
  • unity学习51:所有UI的父物体:canvas画布
  • ctfshow做题笔记—栈溢出—pwn57~pwn60
  • 数据结构 1-2 线性表的链式存储-链表
  • ArcGIS Pro进行坡度与坡向分析
  • My first Android application
  • ZLMediaKi集群设置
  • Docker基础实践与应用举例
  • Innovus中快速获取timing path逻辑深度的golden脚本
  • 百度AI图片助手,免费AI去水印、画质修复、画面延展以及局部替换
  • 【前端】Axios AJAX Fetch
  • 测试面试题:以一个登录窗口为例,设计一下登录界面测试的思路和方法
  • Android之图片保存相册及分享图片
  • EX_25/2/24
  • ElasticSearch公共方法封装
  • JVM之JVM的组成
  • 贪心算法
  • Linux下安装中文输入法总结
  • 人工智能(AI):科技新纪元的领航者
  • c3p0、Druid连接池+工具类 Apache-DbUtils (详解!!!)
  • 鸿蒙开发深入浅出03(封装通用LazyForEach实现懒加载)
  • AWS - Redshift - 外部表读取 Parquet 文件中 timestamp 类型的数据
  • Ubuntu20.04之VNC的安装使用与常见问题
  • vue3学习3-route
  • C++:dfs,bfs各两则
  • RK Android11 WiFi模组 AIC8800 驱动移植流程
  • 深度学习-6.用于计算机视觉的深度学习
  • 免费送源码:ava+springboot+MySQL 基于springboot 宠物医院管理系统的设计与实现 计算机毕业设计原创定制
  • 【电机控制器】ESP32-C3语言模型——DeepSeek