Git是如何工作的?
下面的图示展示了Git的工作流程。
Git是一种分布式版本控制系统。每个开发者都维护着主仓库的本地副本,对其进行编辑和提交。提交非常快,因为该操作不会与远程仓库进行交互。如果远程仓库崩溃,可以从本地仓库恢复文件。
Git工作流程和不可变性
这里的不可变性意味着一旦数据被写入Git,就不能被更改。修改只会创建新的数据版本,旧数据保持不变。
在需要高度可审计性的系统中,如金融系统和版本控制系统,通常使用不可变性的系统设计。以下是Git设计中如何使用它:
??用户的本地Git存储包含三个部分:工作副本、暂存区和本地仓库。
??工作副本包含您正在工作的文件。该数据是可变的,因此您可以随意处理它
??当您键入“git add”时,您的文件将被添加到暂存区。这些文件现在是不可变的。无法编辑它们
??当您键入“git commit”时,您的暂存文件将添加到本地仓库中。本地仓库是追加式写前日志(WAL)的树版本。它们都是不可变的:您只能向数据结构的末尾追加。
??当您键入“git push”时,您的本地仓库数据将与远程仓库同步。由于远程仓库使用与本地仓库相同的数据结构,因此它也是不可变的:只能向其中添加数据
Git合并与Git变基:有何区别?
当我们将一个Git分支中的更改合并到另一个分支时,我们可以使用“git merge”或“git rebase”两种命令。下面的图表显示了这两种命令的工作原理。
Git Merge
这将在主分支中创建一个新的提交G\\’,将主分支和特性分支的历史记录链接在一起。
Git合并是非破坏性的,即主分支和特性分支都没有更改。
Git Rebase
Git rebase将特性分支的历史记录移动到主分支的开头。它为特性分支中的每个提交创建新的提交E\\’,F\\’和G\\’。
重新定位的好处在于它具有线性提交历史。
如果不遵循“git rebase的黄金法则”,重新定位可能是危险的。
Git Rebase的黄金法则:不要在公共分支上使用!
总结
本文介绍了Git的工作原理、不可变性以及Git合并和Git变基的区别。
首先,文章解释了Git是一种分布式版本控制系统,每个开发者都维护着主仓库的本地副本,对其进行编辑和提交。Git的不可变性是指一旦数据被写入Git,就不能被更改。在需要高度可审计性的系统中,如金融系统和版本控制系统,通常使用不可变性的系统设计。
其次,文章介绍了Git合并和Git变基的区别。Git合并是非破坏性的,即主分支和特性分支都没有更改。Git变基将特性分支的历史记录移动到主分支的开头,具有线性提交历史。文章提醒读者要注意Git Rebase的黄金法则:不要在公共分支上使用。
总的来说,本文对Git的工作原理和使用方法进行了简明扼要的介绍,对想要学习Git的读者来说是一篇很好的入门文章。
原创文章,作者:小技术君,如若转载,请注明出处:https://www.sudun.com/ask/34003.html