图解Git——分支管理《Pro Git》

news/2025/1/16 14:15:08/

分支管理

1. 常用分支管理命令

  1. 列出所有分支:git branch
    1. 当前检出的分支前会标记一个 *
  1. 查看分支最后一次提交:git branch -v
  2. 查看已合并到当前分支的分支:git branch merge
    1. 可以用来确认哪些分支已经合并,可以安全删除。
  1. 查看未合并到当前分支的分支:git branch --no-merged
    1. 列出包含未合并工作的分支。

2. 删除分支

  1. 删除已合并的分支:git branch -d <branch-name>
    1. 适用于已完成工作且合并的分支。
  1. 强制删除未合并的分支:git branch -D <branch-name>
    1. 注意:此操作将丢失未合并的工作,需谨慎。

3. 高级用法

  1. 查看某个分支的合并状态(非当前分支):git branch --no-merged <branch-name>
    1. 示例:查看哪些分支尚未合并到 mastergit branch --no-merged master
  1. 切换分支:git checkout <branch-name>

4. 提示

  • --merged--no-merged 参数
    • 默认基于当前分支。
    • 可指定其他分支来查看合并状态。

5. ⭐总结

5.1. 概念/定义

Git 分支是版本控制的重要机制,可以让开发者在不同分支上并行工作,而不会互相干扰。


5.2. 基本操作

以下是一些常用分支管理命令:

5.2.1. 查看分支
  • git branch:列出所有本地分支,当前分支前有 * 标记。
  • git branch -v:显示分支及其最后一次提交的信息。
5.2.2. 创建分支
  • git branch <branch-name>:创建新分支。
5.2.3. 删除分支
  • git branch -d <branch-name>:删除已合并的分支。
  • git branch -D <branch-name>:强制删除未合并的分支。
5.2.4. 查看分支合并状态
  • git branch --merged:列出已合并到当前分支的分支。
  • git branch --no-merged:列出未合并到当前分支的分支。
5.2.5. 查看其他分支的合并状态
  • git branch --no-merged <branch-name>:查看哪些分支未合并到指定分支。

5.3. 优点/好处

  • 并行开发:支持多人同时开发,互不影响。
  • 清晰的工作流:分支合并状态清晰,便于管理工作进度。
  • 安全性:删除未合并分支时有提示,防止误操作导致数据丢失。

5.4. 风险/注意事项

  • 强制删除风险:使用 git branch -D 删除未合并分支时,未保存的更改会丢失。
  • 误合并:未仔细检查分支合并状态可能导致误操作。

5.5. 使用建议

  • 分支命名规范:使用有意义的名称(如 feature/xxxbugfix/xxx)便于识别。
  • 定期清理分支:删除已完成任务的分支,保持代码库整洁。
  • 慎用强制删除:在强制删除未合并分支前,确保需要丢弃的工作已备份或无用。

5.6. 配置建议(如适用)

  • 设置默认分支为 mainmaster,明确合并主线的目标。
  • 利用 Git Hooks 或 CI 工具自动检测分支合并状态,提升管理效率。


http://www.ppmy.cn/news/1563618.html

相关文章

VMware配置Ubuntu虚拟机 设置共享文件夹教程

目录 一、下载VMware和Ubuntu镜像 二、安装Ubuntu系统 三、Ubuntu系统更换阿里源设置中文 四、设置共享文件夹 1、创建并开启共享文件夹。 2、开启虚拟机,启动系统,进行挂载。 3、开机自动挂载。 一、下载VMware和Ubuntu镜像 VMware下载链接:https://pan.quark.cn/s/…

【Linux】Linux常见指令(下)

个人主页~ Linux常见命令&#xff08;上&#xff09;~ 初识Linux 一、Linux基本命令11、cat命令12、more指令13、less指令14、head指令15、tail指令16、时间相关的指令&#xff08;1&#xff09;date指令&#xff08;2&#xff09;cal指令 17、find指令18、grep指令19、压缩相…

Python爬虫-爬取汽车之家全部汽车品牌的brandid(品牌ID)

前言 本文是该专栏的第42篇,后面会持续分享python爬虫干货知识,记得关注。 本文以汽车之家平台为例子,获取所有汽车品牌的“全部品牌ID”,即brandid数据。如下所示: 具体的实现思路以及完整实现代码逻辑,笔者将在正文进行详细介绍。废话不多说,跟着笔者直接往下看正文详…

1.13 多线程编程

1.思维导图 2.创建两个子进程&#xff0c;父进程负责&#xff1a;向文件中写入数据&#xff1b;两个子进程负责&#xff1a;从文件中读取数据。 要求&#xff1a;一定保证1号子进程先读取&#xff0c;2号子进程后读取&#xff0c;使用文件IO去实现。 1>程序代码 …

【Uniapp-Vue3】showLoading加载和showModal模态框示例

一、showLoading加载 uni.showLoading({ title:"标题", // 其他配置 }); uni.hideLoading(); showLoading开启后不会自动关闭&#xff0c;只能手动配置uni.hideLoading() 来关闭加载框。 二、showModel模态框 uni.showModel({ title:"标题", // 其他配置 …

Prompt工程框架介绍与场景选择

文章目录 Prompt工程框架介绍1. CREATE框架2. RACE框架3. RISE框架4. ROSES框架5. E.R.A框架6. SAGE框架7. CARE框架8. PEAR框架9. TIER框架10. LEAP框架11. DEEP框架12. WISE框架13. FOCUS框架14. CLEAR框架15. SMART框架16. CLEAR框架17. LEAN框架18. BRIEF框架19. FAST框架2…

PL/SQL语言的网络编程

PL/SQL语言的网络编程 引言 随着信息技术的迅猛发展&#xff0c;数据库技术在企业信息化建设中的地位愈发重要。PL/SQL作为Oracle数据库的重要扩展语言&#xff0c;不仅可以在数据库内部进行复杂的业务逻辑处理&#xff0c;还可以通过网络编程实现与外部系统的交互。在这篇文…

纯 Python、Django、FastAPI、Flask、Pyramid、Jupyter、dbt 解析和差异分析

一、纯 Python 1.1 基础概念 Python 是一种高级、通用、解释型的编程语言&#xff0c;以其简洁易读的语法和丰富的标准库而闻名。“纯 Python” 在这里指的是不依赖特定的 Web 框架或数据分析工具&#xff0c;仅使用 Python 原生的功能和标准库来开发应用程序或执行任务。 1.…