TortoiseGit 入门指南07:创建分支

Git 的 分支 出了名的好用。其它的版本控制系统也提供分支,但在易用度上,只有两类版本控制系统:一种是 Git,一种是其它。

Bob 大叔在《匠艺整洁之道》中写道:

我曾经坚持拒绝分支。在使用 CVS 和 Subversion 的时候,我禁止团队成员对代码进行分支。

...

但后来我换成了 Git ------就在一夜之间,一切都改变了。

除了 Bob 大叔,我还听到过其他很多人称赞并使用 Git 的分支。那么,什么是 分支(branch) ?

分支 就是一条独立的开发线。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

这可以提供隔离,你在这个分支上所做的任何工作都已和其它分支隔离开。如果你在一个分支中开发了特性 A,而另一个团队成员在另一个分支上开发了特性 B,你们之间不会相互干扰[1](#1)

这涉及到一个常用的 Git 工作流(Workflows):特性分支工作流。工作流是一个术语,是指用 Git 维护软件项目时使用的工作模式。特性分支工作流是指:

默认分支是 master 分支,称为 主分支 ,保存最新的、随时可以发布的版本。当软件发布时,就将主分支打一个 标签 用作发布版本。其他人在主分支上新建一个分支,这个新建的分支称为 特性分支 。所有的新特性、BUG 修改都在特性分支上完成,工作告一段落后,将提交 合并 请求,合并到主分支。合并前,通常会对新代码进行评审,评审通过才可以合并到主分支。一旦特性分支合并到主分支,就可以删除特性分支了。

创建分支

右键菜单 TortoiseGitCreate Branch...,弹出创建分支对话框:

  • Branch:输入分支名称

可以选择新创建的分支是基于哪个提交的:

  • HEAD:当前检出的提交
  • Branch:所选分支的最后一个提交
  • Tag:所选标签的提交
  • Commit:任意提交,你需要单击...启动提交日志对话框,然后选择需要的提交。也可以直接输入提交的哈希码或者提交名(比如HEAD~4)

还有一些可选项:

  • Track:这是一个三状态复选框(选中、未选中、部分选中),如果选中则向Git传递--track参数、未选中则向Git传递--no-track参数、部分选中则既不向Git传递--track参数也不传递--no-track参数。
  • Force:强制创建一个分支,甚至存在重名分支的情况下也可以创建。
  • Switch to new branch:分支成功创建后自动切换到新分支。如果选中该功能,首先要确保当前工作树中没有未修改文件。否则,这些更改将在分支切换时合并到分支工作区。

注意:如果你只是创建了分支,并没有切换到新分支上,那么之后的更改也只会提交到原始分支而不是新分支,所以如果你想创建分支并切换到新建的分支 ,请确保勾选 Switch to new branch 选项。


读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃'▽'〃)


  1. 《程序员修炼之道》 ↩︎
相关推荐
^yi11 分钟前
【Linux系统编程】快速上手git仓库管理,核心三板斧
git
郝同学今天有进步吗1 小时前
构建 LangGraph Code Review Agent(四):文件过滤与 AnalysisPackage 分包
git·python·ai·code review
胖大和尚18 小时前
git本地实现local->remote推送
git
BerryS3N18 小时前
Code Git 工作树:多分支开发的痛点与工作树的曙光
大数据·git·elasticsearch
lbb 小魔仙1 天前
Git + Python 项目工作流最佳实践:pre-commit、CI、CHANGELOG 自动化
git·python·ci/cd
Xu_youyaxianshen1 天前
Git 零基础常用指令手册(Gitee / GitHub 通用 )
git·gitee·github
John_ToDebug1 天前
Git Stash 完全指南:临时保存工作区的艺术
人工智能·git·agent
是宇写的啊2 天前
Git远程操作
git
our_times2 天前
# Git 高频命令实战指南:从日常开发到进阶协作
git
PBitW2 天前
git 中容易遗忘的点 (二) ⚡⚡⚡
前端·git·面试