git clone-如何 Git Clone 指定分支

GIT软件开发中用来跟踪项目(代码)变更的一个分布式版本控制系统。主要专注于开发员之间加强协调,协作,速度和效率。

GITHub 是基于 Web 的托管服务,使用 GIT 进行版本控制。它提供了 GIT 的所有分布式版本控制和源代码管理的功能,还添加了更多计算机编码功能

如何在 Windows 上安装 GIT

下载和安装最新的版本:Windows 上 GIT安装程序

如何在 Linux 上安装 GIT

不同的 Linux 发行版本,有不同的命令:

DeBIan oR Ubuntu

%IGnoRe_pRe_1%

FedoRa

%IGnoRe_pRe_2%

centOS

%IGnoRe_pRe_3%

aRch Linux

%IGnoRe_pRe_4%

Gentoo

%IGnoRe_pRe_5%

如何在 mac 上安装 GIT

下载和安装最新的版本:mac 上 GIT 的安装程序

或者可以执行如下指令

%IGnoRe_pRe_6%

现在我们已经安装了 GIT,让我们继续教程

简介 GIT 克隆

GIT 允许你在“仓库”中版本化管理项目。该仓库是基于 Web 的托管服务进行版本控制,和 GITHub一样。

你可以克隆仓库到你本地的机器,并且得到所有的文件和分支(我稍后会讲解更多关于分支的内容)。

图片[1]-git clone-如何 Git Clone 指定分支-OK资源网

例如,可以通过 SSH 克隆 fReecodecamp 的仓库,如下:

%IGnoRe_pRe_7%

简介 GIT 分支

在做项目时,你可能会有不同的功能,并且有多个贡献者会做该项目及其功能

分支允许你在 masteR 分支中使用相同的文件创建一个 “playgRound(游乐场)” 。你可以使用这个分支构建独立功能、测试新功能、做重大改动、修复代码、写文档,或者在不中断的情况下尝试自己的想法,或者优化生产代码。

分支是 GIT 中的一个心概念,在 GITHub 中也用于管理一个项目不同版本的工作流。masteR 分支始终是仓库中的默认分支,通常被认为是 “生产和可部署代码”。新分支如 passwoRdless-auth 或 RefactoR-sIGnup-ux 可以从 masteR 分支中创建。

图片[2]-git clone-如何 Git Clone 指定分支-OK资源网

fReecodecamp 仓库中的所有分支

如何克隆 GIT 分支

当你使用 gIT clone 指令克隆仓库时,请记住这会克隆分支和远程 HEaD 。默认情况下通常是 masteR 分支,并包括仓库中的所有其他分支。

所以当你克隆一个仓库时,你克隆了 masteR 分支和所有其他分支。这意味着你可以随意切换到另一个分支。

假设你在项目上的任务是开发一项功能,将无密码身份验证添加用户仪表板。这个功能位于 passwoRdless-auth 分支上。

你不需要 masteR 分支,因为你的 “功能分支” 之后会被合并到 masteR 中。那么你如何克隆 passwoRdless-auth 分支,而无需获取所有其他分支的 “一堆你不需要的文件” ?

我创建了示例仓库来解释这一点。此仓库包含一个使用 nextJS 构建的简单博客,有四个虚拟分支机构

nextjs 中,文件夹 pages/api 内的任何文件都被映射到 /api/* 路径,并被视为替代 page 的 aPI 端点。在我的仓库中,我在这个目录中创建了不同的虚拟 aPIs,以使每个分支都不同。

masteR 分支保存 pages/api/hello.js 文件,而 passwoRdless-auth 分支保存 pages/api/auth.js 文件。每个文件仅返回一个伪文本响应。在这里查看 masteR 分支的 aPI 响应(给你一个特别的消息)。

让我们克隆仓库:

%IGnoRe_pRe_8%

我们可以访问此仓库中的所有分支,你可以在每个版本之间轻松切换,以查看每个版本及其文件

%IGnoRe_pRe_9%

图片[3]-git clone-如何 Git Clone 指定分支-OK资源网

想下 RemOTes/oRIGin/.. 分支来自哪里?

当你克隆仓库时,你是从互联网或内部服务器上的 RemOTe 仓库提取数据。ORIGin 是你的 GIT 创建的别名,用于替换远程 URL(如果你愿意,你可以更改或指定其他别名)。

RemOTes/oRIGin/.. 分支指向从互联网克隆的源仓库,因此你仍然可以从源执行 pull/push 。

图片[4]-git clone-如何 Git Clone 指定分支-OK资源网

所以当你克隆 masteR 分支到你的机器上时, RemOTes/oRIGin/masteR 是 masteR 在网络上的源分支, masteR 是你本机的分支。因此,你将从 RemOTes/oRIGin/masteR 中 pull/push。

总的来说 RemOTe 是指向互联网上仓库的 URL,而 ORIGin 是这个远程 URL 的别名。

图片[5]-git clone-如何 Git Clone 指定分支-OK资源网

如何克隆一个指定的分支

现在从我们的演示仓库中克隆一个指定的分支。有两种方法克隆一个特定的分支。你可以:

方案一

%IGnoRe_pRe_10%

%IGnoRe_pRe_11%

这里 -b 只是 –bRanch 的别名。

这样,你就可以获取仓库中的所有分支,切换到你指定的分支,指定的分支成为本地分支用于 gIT push 和 gIT pull 。但你仍然从每个分支中获取了所有文件。这可能不是你想要的吧?

让我们测试看看:

%IGnoRe_pRe_12%

这会自动将 passwoRdless-auth 配置为本地分支,但仍会跟踪其他分支。

图片[6]-git clone-如何 Git Clone 指定分支-OK资源网

图片[7]-git clone-如何 Git Clone 指定分支-OK资源网

方案二

%IGnoRe_pRe_13%

%IGnoRe_pRe_14%

这里 -b 只是 –bRanch 的别名。

这与方案一的操作相同,除了 –single-bRanch 选项,它是在 GIT 版本 1.7.10 及更高版本中引入的。这个选项允许你仅从指定的分支中获取文件而不获取其他分支。

让我们测试看看:

%IGnoRe_pRe_15%

这会自动将 passwoRdless-auth 配置为本地分支,且只能跟踪此分支。

图片[8]-git clone-如何 Git Clone 指定分支-OK资源网

图片[9]-git clone-如何 Git Clone 指定分支-OK资源网

如果你执行 cd pages/api ,你会在 passwoRdless-auth 分支中找到之前设置的 auth.js 文件

总结

你可能无法使用互联网或没有足够的存储空间,但你需要在指定的分支中工作,或者你可能出于各种原因希望克隆具有有限文件的指定分支。幸运的是, GIT 为你提供了执行此操作的灵活性锻炼你学到的新知识并尝试一下吧,还有更多的 “GIT” 知识去学习

一次学习一个知识点,对吧✌?

原文链接

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发