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. 《程序员修炼之道》 ↩︎
相关推荐
high20114 小时前
【Git】-- 版本说明
git
kaixin_learn_qt_ing5 小时前
git clone
git
sin22015 小时前
git stash
git
喝鸡汤5 小时前
一起学Git【第二节:创建版本库】
git
慢慢成长的码农5 小时前
git 同步分支操作
git
sin22015 小时前
git推送本地仓库到远程(Gitee)
git·gitee
丁总学Java7 小时前
git branch -r(--remotes )显示你本地仓库知道的所有 远程分支 的列表
git
yylの博客10 小时前
Windows通过git-bash安装zsh
windows·git·bash·zsh
丁总学Java10 小时前
(Z Shell)zsh: no matches found: ? 使用单引号包裹
git·zsh
萌狼蓝天11 小时前
【NAS】绿联NAS+极狐Gitlab+1Panel
git