首页 > 其他分享 >图解Git——分支管理《Pro Git》

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

时间:2025-01-21 18:50:24浏览次数:1  
标签:git 删除 Pro 合并 Git branch 图解 merged 分支

分支管理

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 工具自动检测分支合并状态,提升管理效率。

标签:git,删除,Pro,合并,Git,branch,图解,merged,分支
From: https://www.cnblogs.com/cikiss/p/18684124

相关文章

  • 图解Git——分支开发工作流《Pro Git》
    ​分支开发工作流由于分支管理的便捷,才衍生出这些典型的工作模式,你可以根据项目实际情况选择。1.长期分支适用于持续开发和发布周期长的项目。常见的长期分支包括:master:只保留稳定的代码,通常用于生产环境。develop或next:用于开发中的功能,可能不稳定,但在达到一定稳......
  • 图解Git——远程分支《Pro Git》
    ​远程分支远程引用:远程引用是远程仓库中分支、标签等的指针,可以通过gitls-remote或gitremoteshow查看。但在日常开发中,更常用远程跟踪分支(如origin/main)与远程分支交互,简化了对远程仓库状态的管理和使用。远程跟踪分支:它是本地Git对远程分支状态的一个......
  • 图解Git——变基《Pro Git》
    ​变基1.变基的由来回顾之前分支合并分叉的提交历史​编辑通过合并操作来整合分叉的历史​编辑有一种方法:你可以提取在C4中引入的补丁和修改,然后在C3的基础上应用一次。在Git中,这种操作就叫做变基(rebase)。你可以使用rebase命令将提交到某一分......
  • 图解Git——服务器上的Git《Pro Git》
    ​协议1.Git远程仓库及通信协议概述1.1.远程仓库的重要性作用:提供协作平台,支持团队共享代码,即使主机离线,其他人仍可访问。常见形式:裸仓库(不含工作目录,仅保存Git元数据)。2.Git支持的协议类型1.本地协议适用场景:在同一台主机或共享文件系统(如NFS)上使用。......
  • 图解Git——分布式Git《Pro Git》
    ​分布式工作流程CentralizedWorkflow(集中式工作流)​编辑所有开发者都与同一个中央仓库同步代码,每个人通过拉取、提交来合作。如果两个开发者同时修改了相同的文件,后一个开发者必须在推送之前合并其他人的更改。Integration-ManagerWorkflow(集成管理者工作流)​编辑......
  • 图解Git——分支简介《Pro Git》
    ​分支简介1.分支的重要性作用:分支允许将工作从主开发线上分离,避免影响主线开发。传统版本控制的劣势:创建分支通常需要复制整个项目文件,效率低下。Git的优势:分支是Git的“必杀技特性”,创建和切换分支都非常轻量和高效,几乎瞬间完成。2.Git分支的核心概念2.1.数据......
  • 图解Git——分支的新建与合并《Pro Git》
    ​⭐分支的新建与合并先引入一个实际开发的工作流:开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。你将按照如下方式来处理:切换到你的线上分支(productionbranch)。为这个紧急任务新......
  • Company Azul Product Zulu OpenJDK vs. Oracle JDK
    TechnologiesOverviewCassandraKafkaSolrElasticsearchHadoop&HBaseSparkIgniteHazelcastTomcatJBoss -[DifferencesBetweenOpenJDKvsOracleJDK|Azul](https://www.azul.com/products/core/jdk-comparison-matrix/)Product&FeaturesProd......
  • git 使用总结
    https://gitee.com/****************.gitgitconfig--globaluser.name'***'gitconfig--globaluser.email'f******@gmail.com'git--version查看版本originhttps://gitee.com/f*****************.git(fetch)originhttps://gitee.com/********......
  • The directory <Project>\aaa is registered as a Git root, but no Git repositorie
    aaa是一个单独被git管理的项目,把删除其中的.git,后把它移动到一个bbb项目跟目录下(其也已经被git管理),然后报错:Thedirectory<Project>\aaaisregisteredasaGitroot,butnoGitrepositorieswerefoundthere. 根据你的描述,出现这个错误的原因是因为开发工具仍然......