如何像专业人士一样创建一个新的Git分支

分支是Git的核心功能。这是你可以在不破坏你的代码的情况下工作于特定功能或软件组件的方式。

作为开发者,这是你对源代码进行重大更改并选择如何处理这些更改的机会。无论哪种方式,你都可以将它们合并到整个项目中或者将它们丢弃。

如果你已经使用过Git,你可能已经注意到有多种创建分支的方式。如果你是一名即将加入的开发者并且还没有接触过Git,了解如何使用版本控制工具将节省你大量时间;如果已经知道了,那么将会让你的开发经验更有趣。

这篇文章旨在帮助你在定义的工作流程中顺利创建Git分支。最终,你将获得一些稳固的技能,可以用来维护你的GitHub仓库。

注意:如果你是一名新开发者,请先查看如何set up your GitHub帐户,然后再继续。如果你已经做过这个,那就转到如何部分。不过,复习一下会有助于巩固你的学习。

什么是Git分支?

来源:atlassian.com

Git的分支意味着你的仓库的一个版本与你的主项目不同(在所有现代版本控制系统中都可用)。简单来说,你是在不干扰原始线路的情况下离开主要的开发线路并进行工作。

许多可用的version control software (VCS)工具使用这种技术,它涉及创建源代码目录的新副本。当处理较大的项目时,复制源代码可能需要一些时间。好处是,这是你尝试代码更改的机会。

Git的分支模型被认为是一个“杀手功能”,并使Git在版本控制系统社区中独树一帜。Git的操作模型简单,使分支操作几乎瞬间完成,并且可以在几个分支之间快速切换。如果你掌握了Git的分支模型,你将解锁一些强大的功能和工具,可以提升你的开发技能。那么分支有什么用呢?

为什么你需要Git分支

Git分支在Git版本控制系统中起着关键作用。以下是一些为什么你需要Git分支的原因:

并行开发 – 现代软件是复杂的,许多开发者经常共同开发软件。分支允许不同的开发者在不同的功能上工作。在其他情况下,它可能是修复错误而没有冲突的工作。每个分支都是开发一个新功能的入口。你可以在工作中轻松切换分支。

协作 – Git分支允许你与其他开发者共同在一个代码库上工作。你可以创建新的分支,进行代码更改,并将它们推送到共享仓库,其他开发者可以在将其合并到主分支之前审查你的贡献。

实验 – 你可以使用Git分支来测试新功能,在合并到主分支之前进行测试而不影响主分支。这是你尝试解决问题的新方法的机会。如果你的代码中的新方法正常工作,你可以将它们合并到主分支中。

发布管理 – 你可以使用分支来管理发布。你可以为你的工作项目中的每个发布创建一个分支。这使你可以修复bug和进行更改,而不影响主要的开发分支。

版本控制 – 你可以使用Git分支进行版本控制;在这种情况下,每个分支代表你的软件的一个新版本。作为开发者,最好为每个软件发布使用分支,并跟踪更改,你可以使用这些来管理不同的代码库版本。

使用Git入门-复习

现在你已经理解了“为什么”,是时候转向“如何”了。

继续前进,你应该已经设置好了GitHub账号。如果还没有,请设置。这部分是实践操作。

在Git中,git checkout命令涉及切换到目标实体的不同版本。在一些在线开发者社区中,“checking out”一词指的是执行checkout命令。这个命令操作三个实体:分支、文件和提交。

切换分支

你可以使用git branch命令创建分支,并使用git checkout进行导航。当你切换到一个分支时,你会更新工作目录中的文件以与存储在那里的版本相匹配。

换句话说,你告诉Git在分支中记录所有的提交(改变开发线)。在开发中为新功能使用专用的分支是从旧的子版本(SVN)工作流程转变过来,并使得在所有在“为什么需要分支”部分中提到的情况下都可以轻松处理代码。

git checkout命令不应与git clone混淆。第一个用于在代码版本之间切换,而后者从远程存储库获取代码。

使用现有分支

如果你正在使用的存储库中存在现有分支,你可以使用命令git branch在命令行界面上可视化它们。

可用的分支将被列出,绿色的分支是你当前正在工作的分支,假设你正在使用Windows操作系统和Visual Studio Code。要在分支之间切换,使用git checkout branchname。短语“branchname”代表你的分支名称,在你的操作中,你可以遵循任何命名约定。

创建Git分支

假设你正在进行软件开发,并想要添加一个新功能。最好的方法是使用“git branch”创建一个新分支。

在实践中,你在命令行中键入以下命令:

git branch branchname

这意味着你已经从main/master分支创建了一个分支(在大多数情况下,这是你运行实时项目的地方)。在这种情况下,你的新分支名称是“branchname”。

要切换到你的新分支,你使用git checkout;请看下面:

git checkout branchname

如果你是一个像我一样喜欢节省时间的开发者,你可以使用“git checkout”与参数“-b”后跟你的分支名称来创建一个分支并立即切换到它。在实践中,你只需执行以下操作以获得与之前步骤中类似的结果,见:

git checkout -b branchname

参数“-b”告诉Git在检查之前运行git branch。让我们看看你可以使用哪些其他技术来创建git分支。

让我们探索更多根据你的需求创建分支的技巧:

#1. 从当前分支创建分支

如果你想基于当前分支创建一个新分支,最好的方法是使用我们新学到的技巧:

git checkout -b <branchname>

这种方法可以自动创建并切换到新的分支。确认你是否在新的分支上,你的终端应该显示消息 – 切换到了一个新的分支 ‘branchname'。

如果你是一个新开发者,你应该热衷于在控制台上键入命令,而不用大括号()。它们对于说明和解释是至关重要的,不应该混淆或错误使用。

#2. 从不同的分支创建分支

您可以根据另一个现有分支创建一个新的分支,将该分支名称添加为您的起点。以下是命令:

git branch   

在实际情况下,它将是:

git branch new-branch branchname

这意味着 ‘new branch' 是我们的新分支,'branchname' 是我们的基础(foundation)分支。

#3.从提交创建分支

如果您想要从提交(而不是分支)创建新的分支,您需要提供提交哈希作为起点。为了找到您正在创建分支的提交哈希,请运行 git log

提交哈希通常是以 ‘commit' 开头的一长串字符。有了提交哈希,您可以通过运行以下命令来创建它:

 git branch  

然后,您可以通过检出它来切换到新的分支。

#4.从标签创建分支

要从特定标签创建分支,请找到您要创建分支的标签名称。运行命令 git tag 来列出存储库中所有可用的标签。

一旦您确定了标签名称,运行 git branch , 然后您可以切换到新的分支并开始进行代码更改。

#5.使用Detached HEAD状态创建分支

您可以使用Detached HEAD状态创建从特定提交开始的新分支,而无需立即切换到该分支。当您想要在不影响您正在工作的分支的情况下尝试新更改时,这种技术非常有用。首先找到您要创建分支的提交哈希 – 使用 git log

有了提交哈希,运行: git checkout 。这个命令意味着您处于Detached HEAD状态,这意味着您当前不在分支上,而是指向特定的提交。接下来,您可以使用 git branch 基于当前提交创建分支。

#6.从远程分支创建分支

首先创建一个本地分支。现在,您应该擅长使用:git checkout -b 。当您将本地创建的分支推送到远程存储库时,远程分支会自动创建。

通过以下命令将分支推送到远程:git push origin 在该命令中,'origin'代表您正在将更改推送到并在其中创建分支的远程存储库。您可以将其替换为您的远程存储库名称;它完全正常工作。

#7.在远程库中创建分支

要在远程存储库中创建一个分支,请通过运行命令git fetch从远程存储库获取最新更改。在获取到最新更新之后,您可以通过检出来创建一个新分支。然后,在检出之后,您可以通过以下方式推送新更改:

git push -u  

在您的操作中,最好使用origin(就像您从远程分支创建分支时那样)。这样可以节省时间,并降低输入远程存储库名称时出错的几率。

Github在线界面

所有在命令行上完成的任务都可以在Github在线界面上复制。要创建一个新分支,请转到您的项目存储库页面,并在左上角检查分支-通常是master/main。

如果您点击它,下面会显示您可用分支的列表,以及一个文本字段,您可以在其中查找或创建分支。

要创建一个分支,请在文本字段中输入其名称。在线界面是自动化的,并允许您从特定元素(如标签、分支和提交)创建分支。如果您刚开始使用分支,在检出 GitHub’s branch docs 可能可以帮助您避免未来开发中的问题。

最后的话

通过学习几种创建Git分支的技巧,您现在可以将新获得的技能融入到软件开发中,实现流畅的Git工作流程。

最佳分支选项将严重依赖于您的团队:工作流准则和事件实例。例如,如果您要求协作者的意见,他们可以远程创建分支并做出宝贵的贡献。

您已经看到Git分支如何为您提供一个在软件项目上更有效和高效地工作的强大机制。虽然还有其他Git控制选项,但本文向您展示了如何在命令行上使用Git分支,并使您更自信地使用Git。

在巩固了创建分支的技能之后,您会更愿意查看我们的指南 deleting GitHub branches

类似文章