TortoiseGit 入门指南07:创建分支

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

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

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

...

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

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

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

这可以提供隔离,你在这个分支上所做的任何工作都已和其它分支隔离开。如果你在一个分支中开发了特性 A,而另一个团队成员在另一个分支上开发了特性 B,你们之间不会相互干扰^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. 《程序员修炼之道》 ↩︎
相关推荐
binishuaio1 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。2 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie64 小时前
在IDEA中使用Git
java·git
晓理紫12 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿14 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
_OLi_21 小时前
IDEA中新建与切换Git分支
java·spring boot·git
PyAIGCMaster1 天前
ubuntu下安装 git 及部署cosyvoice(1)
git
维__kxs76671 天前
小程序 + AI 自动直播:一部手机开启抖音挂载小程序流量主变现之旅
git·eclipse
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 天前
GIT GUI和 GIT bash区别
开发语言·git·bash
zhuyan1082 天前
【git】使用记录
git