Git分支操作简介

在本系列的前两篇文章中,我们开始使用 Git,学会如何克隆项目,修改、增加和删除内容。在这第三篇文章中,我将介绍 Git 分支,为何以及如何使用分支。不妨用树来

大家好,如果您还对Git分支操作简介不太了解,没有关系,今天就由本站为大家分享Git分支操作简介的知识,包括的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

将Git 存储库视为一棵树。图中的树有许多或长或短的树枝,从树干或其他树枝延伸出来。这里,我们使用树干作为仓库的master分支,其中master指的是“master分支”,是Git仓库的中心分支或者第一个分支。为了简单起见,我们假设master 是其他分支分支的主干。

为什么在Git 存储库中使用分支

使用分支的主要原因是:

如果你想给项目添加新的功能,但是很可能会影响当前工作的代码。这对于该项目的活跃用户来说是个坏消息。更好的方法是在存储库的其他分支中进行代码更改,而不是向其他人正在使用的主分支添加功能。这是它的工作原理。更重要的是,Git 是为协作而设计的。如果每个人都在代码存储库的master 分支上工作,这会导致很多混乱。对编程语言或项目的了解和经验因人而异;有人可能会编写有错误或缺陷的代码,或者有人可能会编写您认为不适合该项目的代码。使用分支可以让您验证其他人的贡献并选择合适的分支添加到项目中。 (这里假设您是代码库的唯一所有者,并且希望完全控制添加到项目中的代码。在实际项目中,代码库有多个所有者,有权合并代码)创建分支

让我们回到本系列的上一篇文章,看看我们的Demo 目录中的分支是什么样的。如果您还没有完成上述操作,请按照文章中的说明从GitHub 克隆代码并进入Demo 目录。运行以下命令:

密码

git分支

ls-la

pwd命令(是当前工作目录的英文缩写)返回你当前所在的目录(以确认你在Demo目录中),gitbranch列出你主机上项目的所有分支,ls -la列出当前目录。所有文件。您的终端输出将如下所示:

在master分支中,只有一个文件README.md。 (Git 会很好地忽略其他目录和文件。)

接下来,运行以下命令:

git 状态

git checkout -b myBranch git checkout -b myBranch

git 状态

第一个命令git status 告诉您当前位于master 分支上,该分支(如终端中所示)与origin/master 同步,这意味着master 分支本地副本中的所有文件也存在于GitHub 。两个副本之间没有差异,并且所有提交都是相同的。

下一个命令git checkout -b myBranch 中的-b 告诉Git 创建一个名为myBranch 的新分支,然后checkout 命令将我们切换到新创建的分支。运行第三个命令git status 以确保您位于刚刚创建的分支上。

Git分支操作简介

正如您所看到的,git status 告诉您当前位于myBranch 分支中,并且没有需要提交的更改。这是因为我们既没有添加新文件也没有修改现有文件。

如果你想直观地查看你的分支,你可以运行gitk 命令。如果遇到错误bash: gitk: command not found.请先安装gitk软件包(找到您操作系统对应的安装文档获取安装方法)。

(LCTT翻译注释:需要在有X服务器的终端运行gitk,否则会报错)

下图展示了我们在Demo项目中所做的事情:你的最后一次提交是Delete file.txt,在此之前还有3次提交。当前提交用黄点标记,上一次提交用蓝点标记,黄点和Delete file.txt之间的三个方块显示每个分支的位置(或每个分支中最后一次提交的位置) )。由于myBranch刚刚创建,提交状态与master分支及其对应的名为remotes/origin/master的远程master分支一致。 (非常感谢Red Hat 的Peter Savage 让我了解gitk)

让我们在myBranch 分支下创建一个新文件并观察终端输出。运行以下命令:

echo ‘在myBranch 上创建新文件’ newFile

猫新文件

git 状态

第一个命令中的echo 创建一个名为newFile 的文件,然后cat newFile 打印出文件内容,最后git status 告诉您myBranch 分支的当前状态。在下面的终端输出中,Git 告诉您分支myBranch 下名为newFile 的文件当前未跟踪。这表明我们不允许Git 跟踪文件newFile 上发生的更改。

下一步是添加文件、提交更改并将newFile 文件推送到myBranch(有关更多详细信息,请参阅本系列的上一篇文章)。

git 添加新文件

git commit -m ‘将新文件添加到myBranch’

git Push 起源myBranch

在上面的命令中,push命令使用的分支参数是myBranch而不是master。 Git 添加newFile 并将更改推送到您的GitHub 帐户下的Demo 存储库,告诉您在GitHub 上创建了一个新分支,该分支与您的本地副本分支myBranch 相同。终端输出屏幕截图提供了正在运行的命令和命令输出的详细信息。

当你访问GitHub时,你会在分支选择下拉列表中找到两个分支可供选择。

单击myBranch 切换到myBranch 分支。您可以看到添加到该分支的新文件。

Git分支操作简介

目前,我们有两个分支:一个是master分支,只有一个README.md文件;另一个是master分支,只有一个README.md文件。另一个是myBranch分支,它有两个文件。

您已经知道如何创建一个分支,让我们创建另一个分支。输入以下命令:

git 结账大师

git checkout -b myBranch2 git checkout -b myBranch2

触摸新文件2

git 添加新文件2

git commit -m ‘将newFile2 添加到myBranch2’

git 推送起源myBranch2

我不会再给你终端输出,你可以自己尝试一下,但你可以在GitHub 存储库中验证你的结果。

删除分支

由于我们添加了两个分支,因此以下删除其中之一(myBranch),包括两个步骤:

删除本地分支。您无法删除正在处理的分支,因此请切换到master 分支(或您想要保留的其他分支)。命令及终端输出如下:

gitbranch可以列出可用的分支,使用checkout切换到master分支,然后使用gitbranch -D myBranch删除分支。再次运行gitbranch 以检查是否只剩下两个分支(而不是三个)。删除GitHub 上的分支使用以下命令删除myBranch 的远程分支: git push origin :myBranch

上面的推送命令中分支名称之前的冒号(:) 告诉GitHub 删除该分支。另一种写法是:

git push -d origin myBranch

其中,-d(也可以使用–delete)也用于告诉GitHub删除你的分支。

用户评论

Git分支操作简介
秘密

终于有个通俗易懂的解释!以前一直对 Git 分支操作一头雾水,这篇文章把各种分支类型和操作都讲解得很清楚了。学习 Git 从入门到精通的感觉一下子就强了不少!

    有20位网友表示赞同!

Git分支操作简介
∞◆暯小萱◆

我觉得代码修改的时候建立多个分支真的很有必要,这样就不会影响主干代码的稳定性。而且合并分支的操作也很简单易懂,这个图解展示真是太棒了!

    有17位网友表示赞同!

Git分支操作简介
哭着哭着就萌了°

我一直使用远程仓库的 Git 分支功能来管理开源项目的贡献者们提交的代码,这篇文章让我对一些细节的地方有了更深入的理解。

    有19位网友表示赞同!

Git分支操作简介
短发

这篇博客写的真好呀! 我从学习Git开始就一直困扰分支操作这个部分,看了你的解释终于明了了,太感谢你分享了这么多宝贵经验。

    有10位网友表示赞同!

Git分支操作简介
放肆丶小侽人

说实话,我读完这篇文章还是觉得 Git 分支的操作有点复杂,特别是“rebase”和“merge”,需要再仔细研究一下才能真正理解。希望作者可以再来写些更深入的讲解!

    有5位网友表示赞同!

Git分支操作简介
一尾流莺

这个 “git cherry-pick” 函数真是太棒了!之前不知道它可以独立合并特定的 commit,今天学到新知识了!

    有13位网友表示赞同!

Git分支操作简介
金橙橙。-

我只想说一句,Git 本身就有点复杂,这篇博客写的再详细也帮不了我完全理解分支操作。不过这篇文章至少对我一些基础的操作帮助很大,继续学习吧!

    有14位网友表示赞同!

Git分支操作简介
←极§速

我很喜欢这个“快速切换分支”的方法,以前每次要切换的时候都要手动输入命令真的很烦人,现在终于找到了更方便的脚本!

    有10位网友表示赞同!

Git分支操作简介
凉笙墨染

文章讲的很清楚,操作步骤也很详细。我已经把这些技巧都记下来了,以后再学Git的时候就可以来参考使用了。

    有6位网友表示赞同!

Git分支操作简介
终究会走-

学习 Git 最难的就是这个分支操作,感觉每次都要重新记忆一遍。希望以后能有一种更直观的方式来管理分支。

    有13位网友表示赞同!

Git分支操作简介
不离我

这篇博文真是太实用了!我已经把 git 分支操作的方法都掌握了,以后再写代码的时候就可以灵活地使用不同的分支进行开发和测试了。推荐给所有想学习 Git 的小伙伴!.

    有20位网友表示赞同!

Git分支操作简介
追忆思域。

我之前在开源项目里经常看到别人提到 Git 分支的使用,只是没有深入了解过如何操作。看了这篇文章,总算明白是怎么回事,以后可以更好地参与代码贡献了!

    有8位网友表示赞同!

Git分支操作简介
全网暗恋者

我想说的是,Git 分支的操作确实很多种,而且每个分支类型的用法都不一样,需要花时间去理解才能真正掌握。

    有13位网友表示赞同!

Git分支操作简介
米兰

这个博客内容很棒!特别是关于如何正确使用合并操作的部分,帮助我避免了一些潜在的冲突问题,非常实用啊!

    有17位网友表示赞同!

Git分支操作简介
冷眼旁观i

我一直不太明白为什么 Git 中要用到分支操作?这篇文章解释得很清楚了,原来是為了更有效地管理多个版本的代码。现在总算懂了!

    有19位网友表示赞同!

Git分支操作简介
心贝

这篇博客给我带来了很多启发,让我意识到利用 Git 分支进行开发可以提高工作效率和项目协作。

    有11位网友表示赞同!

Git分支操作简介
花开丶若相惜

Git 分支的操作确实很复杂,需要花时间去理解每个细节。不过这篇文章的讲解比较清晰易懂,对新人来说是一个很好的入门指南。

    有10位网友表示赞同!

Git分支操作简介
把孤独喂饱

虽然这个博客解释了 Git 分支操作的常见概念,但是我仍然觉得有很多地方需要更深入的学习,例如如何处理复杂的合并冲突等问题。

    有7位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/202942.html

(0)
小su's avatar小su
上一篇 2024年9月28日 上午2:36
下一篇 2024年9月28日 上午2:37

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注