发布于 2026-01-06 4 阅读
0

Git 中的分支是什么?

Git 中的分支是什么?

注:这是 Git 入门系列视频的第七集。点击此处观看第一集

想象一下存在平行世界。我们有:

  1. 一个由我制作,而你正在观看的世界。
  2. 一个我制作了这段视频,但你却没有观看的世界。
  3. 一个我没有制作这段视频的世界。

在这个平行世界的概念中,Git 分支就是一个平行世界。

你可以创建一个分支,让它在一个世界中保持不变。然后,你再创建一个分支进入另一个世界。代码完成后,你可以将更改合并到初始世界中,从而完成整个世界。

如何创建分支

打开你的 Git 客户端。找到你想从中创建分支的分支。右键单击该分支,然后选择“创建新分支”。

菜单上的光标指向“创建新分支”

您可以随意命名您的分行。

通常情况下,我们开发人员创建的第一个分支是开发分支。

给分支命名后,点击创建并检出。这里的“检出”指的是切换到开发分支。

将分支名称设置为 development

创建开发分支后,您可以在分支部分看到两个分支——master 和 development。

侧边栏包含所有分支。在本例中,它显示了 master 和 development 分支。

在 Git 历史记录中,您还可以看到一个名为 的新标签development。该标签与development位于同一提交中masterorigin/master

Git 历史记录显示了原始的 `development` 结束绘制标签

为什么要创建开发分支?

假设你有一个已经可以公开访问的网站。这个网站位于主分支上。

如果你将代码提交到主分支,就意味着你直接修改了网站。如果你引入了任何错误,其他人可以立即看到。

我们是人,都会犯错。我们不想让别人看到我们的错误。

所以我们创建一个新分支,并在此基础上进行开发。完成后,当我们确信没有更多错误(至少我们会尽力确保没有!),我们就将更改推送回主分支以更新网站。

这就是我们使用开发分支的原因。

在这种情况下,主分支也可以称为生产分支。

如何在新的分支上编写代码

创建新分支后,您可以直接在该分支上编写代码。您对代码所做的任何更改都只会反映在该分支上。

假设我们要创建一个名为 . 的新文件development.md。在这个文件中,我们写上“你好!这是从开发分支提交的!”。

# development.md
Hello! This is committed from the development branch!
Enter fullscreen mode Exit fullscreen mode

返回 Git 客户端后,您可以将此更改提交到开发分支。

创建提交时,请确保您位于开发分支上。在 Fork 中,您可以通过查看加粗的分支名称来判断您当前所在的分支。

侧边栏上的“开发”字样以粗体显示。这表示已选中开发分支。

将你的代码提交到开发分支。

现在,如果你查看 Git 历史记录,你会发现开发分支比origin/master分支和本地master分支都领先一个提交。

这说明我们可以在该分支上编写任意数量的代码,而development不会影响其他分支。

`development` 原始输出标签位于 `origin/master` 原始输出标签和 `master` 原始输出标签之前。

将开发分支推送到 Git 远程仓库

您可以通过点击推送按钮将开发分支推送到 Git 远程仓库。步骤与您首次推送 master 分支时的步骤类似

推送完成后,您可以origin/development在与标签相同的提交中看到该标签development

与原始 `development` endraw 标签位于同一提交中的原始 `origin/development` endraw 标签。

在不同分支之间切换

要在分支之间切换,您可以双击想要切换到的分支(在侧边栏中)。例如,如果您双击 Master 分支,则会检出 master 分支。

结账是指切换到您选择的分行。

双击主分支以检出主分支

现在查看你的项目,你会发现development.md文件丢失了。这再次证明,你可以在自己的分支上进行任意多次提交,development而不会影响其他分支。

合并分支

如果你已经完成了开发过程,并且准备将分支合并回主分支master

要进行合并,首先需要检出要合并到的分支。这应该是master……

然后,要将development分支合并到主分支,请在 Git 客户端中master右键单击该分支,然后选择“合并到 'master'”。development

光标位于显示“合并到‘主控端’”的菜单项上


Fork 会询问您是否要创建合并提交。有些客户端会自动为您执行此操作。

询问您是否要创建合并提交的菜单


选择合并,合并操作即可完成。

如果你现在查看 Git 历史记录,你会发现该master分支领先于development其他origin/development分支。

这是因为我们已经执行了合并提交。

原始 `master` 分支的 endraw 进度领先于原始 `development` 分支和原始 `origin/development` 分支。

同时,master它比分支领先两个提交origin/master。这就是为什么我们在侧边栏看到“2”的原因。

原始 `master` 分支的 endraw 版本比原始 `origin/master` 分支的 endraw 版本领先两个提交。

合并完成后,您可以点击“推送”按钮更新 Git 远程仓库。

raw `origin/master` endraw 和 raw `master` endraw 现在位于同一个提交中

删除分支

要删除分支,请右键单击要删除的分支,然后选择删除“分支名称”。

将光标放在显示“删除开发”的菜单项上

在 Fork 中,您还可以选择从远程仓库中删除分支。

菜单询问您是否要从源中删除分支

点击“删除”和“Fork”将删除两个分支。

删除完成后,您可以查看 Git 历史记录。您会注意到 `<script>`origin/development和 ` <script> development` 标签都已从历史记录中消失。

raw `origin/development` endraw 和 raw `development` endraw 标签都已从历史记录中消失。

总结

分支就像一个平行世界,你可以在其中创建提交而不会将错误引入生产代码。你总可以在将分支合并到生产代码之前修复这些错误。


感谢阅读。本文最初发布在我的博客上。如果您想阅读更多帮助您成为更优秀的前端开发人员的文章,请订阅我的邮件列表。

文章来源:https://dev.to/zellwk/what-is-a-branch-in-git-3ink