Git 分支的分步指南

在我之前的 git 入门指南中,我简要介绍了 git 分支的工作原理。git branch例如,您可以使用命令创建新分支。在本指南中,我们将深入探讨分支以及如何git branch有效使用。

Git 中的分支是什么?#

git 中的分支基本上是指向一项开发工作的指针。它们使您可以从当前代码库中分支出来,以便您可以独立于现有代码库进行工作。下面,每个圆圈代表一个提交。每个分支都可以有自己的提交,并且它们都可以彼此独立开发:新功能分支主枝测试分支

上面,我们有两个分支,都从主分支上的不同提交分支。您的主分支是您在 git 项目中开始的第一个分支。分支基本上可以让你拿走你的工作,复制它,然后单独处理它。可以通过运行在您的提交历史记录中的任何时间创建一个分支git branch x,其中x是分支的名称:

git branch my-new-branch

在您的开发中的某个时刻,您可能最终会得到很多分支。在这些情况下,您可以通过运行找到所有分支git branch --list

git branch --list

请注意,通过创建分支,您不会被自动设置到该分支。要切换到分支,您必须使用以下命令显式切换到它git switch

git switch my-new-branch

在 git 中删除分支

归根结底,您可能会意识到不再需要分支。要删除分支,请使用该-d选项。例如,git branch -d my-branch将删除my-branch.

git branch -d my-branch

在 git 中重命名一个分支

-m您可以使用命令重命名 git 中的分支。这会将当前分支重命名为-m. 例如,git branch -m new-branch将当前分支重命名为new-branch.

设置和删除远程分支

当您创建一个新分支并尝试使用git push推送到您的上游时,您可能会遇到问题,因为尚未设置上游分支。你可以在这里做两件事:

  • 添加一个新的上游分支以将您的分支推送到您的远程存储库。
  • 将更改从本地计算机推送到已经存在的分支上的上游。

任何一个选项都可能适合您的情况。要在远程存储库上创建新分支,只需运行git remote add

git remote add my-remote-branch https://github.com/smpnjn/effective-guacamole.git

my-new-branch这将在您的远程存储库上创建一个名为的分支。如果本地计算机上的分支被调用,则可以通过运行以下命令my-branchmy-branch送到远程分支:my-remote-branch

git push --set-upstream my-remote-branch my-branch

您还可以通过运行以下命令来删除远程分支:

git push origin --delete my-remote-branch

将分支合并到您的主分支

一旦您对分支进行了多次提交,您可能希望将其合并回 master。为此,您应该首先使用git addand提交对分支的任何更改git commit

git add -A
git commit -m "My commit"

然后,切换或结帐回到主:

git checkout main

您可能想从远程提取任何东西,git pull首先使用,但最终一旦main我们可以使用git merge. 如果你的分支是my-branch,你可以这样做:

git merge my-branch

这可能会导致一些合并冲突,您需要查看并手动修复这些冲突,但大多数现代代码编辑器(如 Visual Studio Code)都会有一个 GUI 来帮助您执行此操作。否则,您可以运行git diff,如果您遇到合并冲突来诊断问题。有很多方法可以解决合并冲突,我们将在git merge. 如果您对解决git 合并冲突感兴趣,可以在此处了解更多信息