git branch

ops/2025/2/26 17:35:10/

文章目录

  • 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.ppmy.cn/ops/161459.html

相关文章

DDL区别:Oracle和Mysql

在数据库管理系统&#xff08;DBMS&#xff09;中&#xff0c;DDL&#xff08;数据定义语言&#xff0c;Data Definition Language&#xff09;用于定义和管理数据库结构&#xff0c;如表、索引、视图等。Oracle 和 MySQL 作为两种主流的关系型数据库&#xff0c;在 DDL 语法和…

WPS计算机二级•文档的页面设置与打印

听说这是目录哦 纸张大小页边距和装订线❤️‍&#x1f525;打印界面讲解❤️缩印&#x1f495;打印作文稿纸&#x1f49e;将文档打印成书籍&#x1f493;限制编辑设置&#x1f497;给文字文档加密&#x1f496;文档导出为 PDF格式&#x1f498;协作编辑模式&#x1f49d;能量站…

HTTP实验(ENSP模拟器实现)

目录 HTTP概述 HTTP实验 HTTPS 实验 HTTP概述 HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;&#xff0c;设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 HTTP定义了多种请求方法&#xff0c;常用的包括&#xff1a; …

word中对插入的图片修改背景色

关于对word中插入的图片修改背景色的问题&#xff0c;网上查了好多都无效&#xff0c;可能是由于word版本的问题&#xff0c;本人word版本为2019版&#xff0c;亲测有效的修改图片背景色为透明的小技巧&#xff1a; 选中图片-设置图片格式-最右面图标&#xff0c;选择图片校正…

kotlin 知识点 七 泛型的高级特性

对泛型进行实化 泛型实化这个功能对于绝大多数Java 程序员来讲是非常陌生的&#xff0c;因为Java 中完全没有这个概 念。而如果我们想要深刻地理解泛型实化&#xff0c;就要先解释一下Java 的泛型擦除机制才行。 在JDK 1.5之前&#xff0c;Java 是没有泛型功能的&#xff0c;…

代码审计入门学习

简介 HadSky轻论坛程序为个人原创PHP系统&#xff0c;作者为蒲乐天&#xff0c;后端基于puyuetianPHP框架驱动&#xff0c;前端基于 puyuetianUI框架驱动&#xff0c;默认编辑器为puyuetianEditor富文本编辑器&#xff0c;其他非原创框架及驱动JQuery.js 及Font-Awesome字体库…

Qt 自定义控件及插件使用浅谈

Qt 自定义控件及使用浅谈&#xff1a;控件个性化 1 摘要 在Qt开发中&#xff0c;自定义控件是一个非常重要的概念。通过自定义控件&#xff0c;开发者可以封装属于自己特定的功能和界面&#xff0c;以便在项目开发中多个地方复用。通过平时的积累封装更多于系统控件&#xff…

Spring AI + Ollama 实现调用DeepSeek-R1模型API

一、前言 随着人工智能技术的飞速发展&#xff0c;大语言模型&#xff08;LLM&#xff09;在各个领域的应用越来越广泛。DeepSeek 作为一款备受瞩目的国产大语言模型&#xff0c;凭借其强大的自然语言处理能力和丰富的知识储备&#xff0c;迅速成为业界关注的焦点。无论是文本生…