paint-brush
GIT:在 5 个难度级别中进行解释经过@mcsee
5,286 讀數
5,286 讀數

GIT:在 5 个难度级别中进行解释

经过 Maximiliano Contieri4m2023/02/19
Read on Terminal Reader

太長; 讀書

GIT 是一个分布式版本控制系统,允许软件开发人员管理和跟踪对其源代码所做的更改。它允许多个开发人员在同一个代码库上同时协作,同时还维护每个开发人员所做的所有更改的全面记录。它也是开源的,这意味着任何人都可以免费使用它。
featured image - GIT:在 5 个难度级别中进行解释
Maximiliano Contieri HackerNoon profile picture

知道并理解这个神奇的工具。


TL;DR:什么是 GIT,为什么要学习如何使用它?


我将分五个层次向不同的听众解释GIT


许多初级开发人员问我哪种语言或花哨的框架更适合开始他们的职业生涯。


我的回答总是一样的:

语言和框架来来去去。学英语,学GIT。

孩子

GIT 就像一本神奇的笔记本,您可以在其中记下您对计算机项目所做的所有更改。


你知道当你画了一幅画,你不能擦掉它,也不能像以前那样制作它吗?


有时候,当我们在做大项目时,我们也想回去看看我们图片的旧版本。


你可以保留所有不同版本的照片,如果你愿意,可以回去查看它们。


您可以与朋友一起在同一张图片上作画,而不会因更改而感到困惑。


它就像是您工作的时间胶囊。

青少年

GIT 是一种跟踪计算机文件更改的工具,尤其是在与其他人一起处理项目时。


朋友们可以同时处理同一个文件,而不会意外覆盖彼此的更改。


GIT 还允许您保存工作的不同版本,因此您可以在需要时返回到较早的版本。

大学生

GIT 是一个分布式版本控制系统。


它允许开发人员同时在同一个代码库上工作,而不会干扰彼此的更改。


它使用独特的算法来跟踪文件中的更改。


GIT 维护对代码库所做的所有更改的历史记录。


开发人员可以在同一个项目上进行协作,同时仍然保持独立工作的能力。


如果您需要返回旧版本的工作,此工具可让您使用编写的代码轻松完成此操作。


软件开发人员广泛使用 GIT 并将其视为行业标准。


它也是开源的,这意味着任何人都可以免费使用它。

研究生

GIT 允许开发人员跟踪随时间对源代码所做的更改。


该工具允许多个开发人员在同一个代码库上同时协作,同时还维护每个开发人员所做的所有更改的全面记录。


GIT 允许轻松协作、回滚更改以及管理不同版本的代码。


GIT 的一些关键功能包括创建分支和合并它们、查看对代码库所做更改的历史记录以及处理冲突的能力。


当多个人在处理同一代码时,就会出现冲突。

专家

GIT 是一个分布式版本控制系统,允许软件开发人员管理和跟踪对其源代码所做的更改。


它基于由提交的有向无环图组成的数据模型,其中每个提交代表代码库在特定时间点的快照。


GIT 允许多个分支存在于一个代码库中,并能够轻松地将一个分支的更改合并到另一个分支。


它使用三向合并算法,这使得它能够有效地处理合并来自多个分支的更改时可能出现的冲突。


GIT 允许在提交之前暂存更改。


您可以使用挂钩自动执行任务并使用GIT LFS处理大型二进制文件。


使用 GIT,可以在众多本地和远程存储库之间生成和转换。

GIT 拥有强大的插件生态系统和各种第三方工具。


一些工具是GIT GUI客户端、GIT 托管平台和 GIT 工作流自动化工具,它们使团队能够以各种方式使用 GIT 以满足他们的需求。


GIT 使用的三向合并算法将文件的共同祖先版本与当前分支中的版本以及正在合并的分支中的版本进行比较。


这允许 GIT 检测和处理合并在不同分支中所做的更改时可能出现的冲突。


三向合并的过程如下:


  1. GIT 首先识别正在合并的文件的共同祖先版本。这是在当前和目标分支中进行任何更改之前存在的文件版本。


  2. GIT 将文件的祖先版本与当前分支中的版本进行比较。然后它将当前分支中所做的所有更改记录在文件的特殊“当前”版本中。


  3. GIT 将文件的祖先版本与目标分支中的版本进行比较,并将目标分支中所做的所有更改记录在文件的特殊“目标”版本中。


  4. GIT 采用文件的共同祖先版本并将当前版本和目标版本中记录的更改应用于它。如果出现任何冲突(例如,如果在当前分支和目标分支中更改了相同的代码行),GIT 将在文件的最终版本中标记这些冲突,并提示用户手动解决它们。


通过使用该算法,GIT 可以有效地管理合并冲突并保证文件的最终版本代表在两个分支中所做的更改的连贯一致的集成。