赞
踩
假设开发人员在中央存储库(远程)上进行了更改,那么我们需要将这些更改提取到本地存储库,因此使用 Git fetch 命令来执行此操作。Git fetch 命令将更改以及所有更改提交下载到文件中。我们使用命令git fetch -all来获取本地存储库所有分支中的所有更改。git fetch 命令默认获取所有分支和标签(统称为refs )。git fetch命令还可以检索用于编译更改历史记录的所有数据。
学习 git fetch 的先决条件是对版本控制系统、分支和 Git 有基本的了解。在学习 git fetch 命令之前,让我们先简单讨论一下它们。
版本控制系统
版本控制系统是软件开发中的一种工具,用于跟踪代码、文档以及有关某个代码库(或项目)的其他重要信息等的更改。版本控制系统有两种类型: 集中式版本控制系统( CVCS)和分布式版本控制系统(DVCS)。
git
Git 是一个版本控制系统,用于跟踪代码、文档以及有关某个代码库(或项目)等的其他重要信息的更改。Git 是免费的,也是使用最广泛的版本控制系统之一。我们可以通过命令行以及图形用户界面 ( GUI ) 使用 Git。Git 的命令行或终端版本称为Git Bash,而 Git 的 GUI 版本称为Git GUI。Git 跟踪项目中的更改并保存称为提交的特定状态。提交是文件当前版本的快照。因此,我们跟踪这些提交,并且如果需要的话可以恢复到某个提交。
分枝
分支是一条独立的开发线,用于在不妨碍主项目的情况下添加某些功能并修复错误。因此,我们可以并行开发新功能,当开发完成后,我们可以将其添加回主项目中。默认情况下,所有 GitHub 存储库都有可用于生产的master分支。
因此,新分支是主分支的副本,它是为了修复错误和添加新功能而创建的。当bug修复或者添加新功能后,我们可以将分支合并到master分支。gitbranch命令使我们能够执行并行开发。该命令可以创建、重命名、列出和删除分支。
GitHub
GitHub 是一个基于云的中央存储库,可用于托管我们的团队协作代码。它是一个托管服务,用于管理中央服务器中的 git 存储库。GitHub 是一个免费(有一定限制)且易于使用的平台,使团队成员能够在项目上协同工作。GitHub 跟踪项目工作流程中所做的更改,我们还可以恢复项目的某个状态(因为 GitHub 保存了项目的历史记录)。GitHub 支持开源开发,多个开发人员可以在开发过程中相互协作和支持。
任何人都可以在GitHub平台上创建帐户来托管他们的代码、文件和文档。GitHub 出售托管的私有代码存储库和其他协作商业模式计划,以作为一个组织赚钱。
在了解 git fetch 命令之前,让我们看一个场景。
一个开发团队正在开发一个项目。一名团队成员进行了一些更改并将更改推送到中央存储库。现在,由于开发人员已对中央存储库(远程)进行了更改,因此我们需要将这些更改提取到本地存储库,因此使用 Git fetch 命令来执行此操作。Git fetch 命令将更改以及所有更改提交下载到文件中。我们使用命令git fetch -all来获取本地存储库所有分支中的所有更改。
要使用 git fetch 从远程存储库获取数据,我们可以使用以下命令:
git fetch <remote>
我们还可以使用git pull命令获取更改。要使用 git pull 从远程存储库获取数据,我们可以使用以下命令:
git pull <remote>
请参阅下面提供的图片以获得更清晰的信息。
我们将在本文后面了解git fetch和git pull命令之间的差异。
我们也可以使用 git clone 命令来实现同样的目的。那么 git clone 到底是什么?如果我们想克隆其他开发人员的工作(以中央存储库的形式存储),那么我们可以使用示例命令 gitclonerepository将整个存储库复制到我们的本地系统中。假设我们开发了一个项目,并将该项目托管在远程存储库(服务器)上,并且由于某些问题,本地系统上的数据被删除。然后我们可以轻松克隆我们自己的存储库,这样我们的数据将始终存储在安全的地方,并且不会受到本地系统任何丢失的影响。
要使用 git clone 从远程存储库获取数据,我们可以使用以下命令:
git clone <remote>
现在让我们了解git fetch命令是如何工作的。
git fetch 命令默认获取所有分支和标签(统称为refs )。git fetch命令还可以检索用于编译更改历史记录的所有数据。
示例:现在让我们看看这两个命令的输出以便更好地理解。
当我们运行git fetch命令时,通常称为origin 的远程存储库的副本将被下载并保存在我们的本地存储库中。此命令不会更改代码的本地副本,但仅保存新的更改。git fetch命令仅保存新的更改,但 doe snot 与git pull命令一样执行合并操作。
与git fetch命令相关的各种标志是:
还有更多标志与git fetch命令一起使用来执行特定任务。要了解有关相关标志的更多信息,请参阅git fetch命令的官方文档。
到目前为止,我们已经讨论了很多关于git fetch命令的内容。现在让我们举一些例子来了解使用git fetch命令的各种场景。
假设开发人员在中央存储库(远程)上进行了更改,那么我们需要将这些更改提取到本地存储库,因此使用 Git fetch 命令来执行此操作。因此,我们可以使用远程存储库的 URL 以及git fetch命令来将更改拉取到远程存储库。其总体命令是:
git fetch <remote-repository-URL>
如果需要,我们甚至可以从特定分支获取更改。我们可以将分支名称以及分支 URL 与git fetch命令一起传递。其总体命令是:
git fetch <branch-URL> <branch-name>
注意: 该命令只能访问指定分支的元素。
在前面的命令中,我们已经了解了如何获取远程分支的更改,但我们也可以获取所有分支的更改。我们使用命令-all标志和git fetch命令来获取本地存储库所有分支中的所有更改。其总体命令是:
git fetch -all
现在,如果开发人员在中央存储库(远程)上添加了新功能,我们需要将这些更新获取到本地存储库,因此可以使用 Git fetch 命令来执行此操作。其总体命令是:
git fetch origin
在上面的命令中,origin代表远程存储库。
我们知道,Git fetch 命令将更改以及所有更改的提交下载到文件中。git pull 命令将更改从 GitHub 存储库提取到我们的本地存储库并合并它们,另一方面,git push 命令仅将我们的提交历史记录从本地存储库发送到 GitHub(中央存储库)。
我们可以使用这两个命令从远程存储库下载更改。git fetch命令首先从远程存储库中获取更改,然后将更改存储在本地存储库的单独分支中。另一方面,git pull命令将所有更改从远程存储库拉取到本地存储库的相应分支。简单来说,我们可以说git pull命令是git fetch和git merge命令的组合。
注意:git merge命令用于将各个分支的多个提交合并到一个分支中。我们执行分支以并行开发新功能和错误修复。一旦修复了错误或添加了新功能,我们就可以将这些分支合并为一个分支。
git fetch 和 git pull命令非常相似,这两个命令都可以用来获取本地存储库的更改。让我们了解一下git fetch命令和git pull命令之间的区别。
git pull | git fetch |
---|---|
git pull命令将所有更改从远程存储库拉取到本地存储库的相应分支。 | git fetch命令从远程存储库中获取更改,然后将更改存储在本地存储库的单独分支中。 |
git pull命令用远程分支的最新更改更新当前分支的当前 HEAD。 | git fetch命令从远程服务器下载新的更改或新数据。 |
git pull命令直接下载更改,然后将这些更改应用到当前工作文件。 | git fetch命令不会更改、操作或破坏远程存储库的数据。 |
git pull命令可能会引发合并冲突。 | git fetch命令可以保护我们的代码免受可能的合并冲突的影响。 |
如果我们已经从任何存储库中提取了更改,则不应再次使用git pull命令。 | 应反复使用git fetch命令从中央服务器获取最新更改。 |
- Git 是一个版本控制系统,用于跟踪代码、文档以及有关某个代码库的其他重要信息等的更改。
- 假设开发人员在中央存储库(远程)上进行了更改,那么我们需要将这些更改提取到本地存储库,因此使用 Git fetch 命令来执行此操作。
- 当我们运行git fetch命令时,通常称为origin 的远程存储库的副本将被下载并保存在我们的本地存储库中。
- Git fetch 命令将更改以及所有更改提交下载到文件中。我们使用命令git fetch -all来获取本地存储库所有分支中的所有更改。
- git fetch 命令默认获取所有分支和标签(统称为refs )。git fetch命令还可以检索用于编译更改历史记录的所有数据。
- git fetch命令仅保存新的更改,但 doe snot 与git pull命令一样执行合并操作。
- git fetch和git pull命令非常相似,这两个命令都可以用来获取本地存储库的更改。
- git fetch命令首先从远程存储库中获取更改,然后将更改存储在本地存储库的单独分支中。
- git pull命令将所有更改从远程存储库拉取到本地存储库的相应分支。
- 应反复使用git fetch命令从中央服务器获取最新更改。git fetch命令还可以保护我们的代码免受可能的合并冲突的影响。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。