git中fork与branch的区别是什么-LMLPHP

本文操作环境:Windows10系统、Git2.30.0版、Dell G3电脑。

git中fork与branch的区别是什么

fork

fork,英语翻译过来就是叉子,动词形式则是分叉,如下图,从左到右,一条直线变成多条直线

转到git仓库中,fork则可以代表分叉、克隆 出一个(仓库的)新拷贝

包含了原来的仓库(即upstream repository,上游仓库)所有内容,如分支、Tag、提交

如果想将你的修改合并到原项目中时,可以通过的 Pull Request 把你的提交贡献回 原仓库

fork 其实并不是 Git 操作,而是一个 GitHub 操作

也就是说,对于原生的 Git 工具来说,是没有 fork 的操作的,fork 是类似 GitHub、码云等等在线代码托管平台提出来的功能。

fork 的作用,类似于当你在托管平台上看到了一个很有趣的项目,想要自己去改进它,然后你 fork 了它(类似克隆),最后你改了一个很厉害的功能出来,想要推给原 fork 项目,这时候你可以 pull request,一旦对方接受了你的 pull request,你的代码就有可能会出现在原 fork 项目中了。

branch

branch,译为分支,其作用简单而言就是开启另一个分支, 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线

Git 处理分支的方式十分轻量,创建新分支这一操作几乎能在瞬间完成,并且在不同分支之间的切换操作也是一样便捷

在我们开发中,默认只有一条master分支,如下图所示:

git中fork与branch的区别是什么-LMLPHP

通过git branch可以创建一个分支,但并不会自动切换到新分支中去

git中fork与branch的区别是什么-LMLPHP

通过git checkout可以切换到另一个testing分支

git中fork与branch的区别是什么-LMLPHP

对于远端仓库来说,默认有一个 master 的分支,也叫作主干。当你接到了一个新的需求,你可以拉一个分支出来,在这上面修改代码而不影响原主干代码,等修改测试完毕后再合并到主干上去。

这也就是非常常见的 Git 分支管理的内容。

区别:

  • fork 只能对代码仓进行操作,且 fork 不属于 git 的命令,通常用于代码仓托管平台的一种“操作”

  • clone 是 git 的一种命令,它的作用是将文件从远程代码仓下载到本地,从而形成一个本地代码仓

  • branch 特征与 fork 很类似,fork 得到的是一个新的、自己的代码仓,而 branch 得到的是一个代码仓的一个新分支

推荐学习:《Git教程

以上就是git中fork与branch的区别是什么的详细内容,更多请关注Work网其它相关文章!

09-16 18:35