- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道 git 使用版本控制来跟踪文件。而且它也是分布式的,这意味着不止一台计算机存储相关文件。但我怀疑 git 是分布式的还是去中心化的?如果是去中心化的,那为什么还需要github、gitlab呢?使用 Github 和 Gitlab 使其分布式(一个主多个从节点)对吗?因为,我们有一个 master(如 github),客户(合作者)依赖于它。但是 git 利用了区块链(各种)技术,这让我认为 git 是去中心化的,因为所有区块链技术应用程序,如比特币、以太坊都是去中心化的。与比特币不同,git 中的节点之间没有点对点通信,这与区块链的去中心化性质相矛盾。我们需要 github 来与其他节点通信,或者如果我们要与其他节点协作。请有人告诉我 git 是分布式的还是去中心化的?
最佳答案
Git 两者兼而有之(两者都不是)。
它是分布式...
...从某种意义上说,任何拥有特定存储库克隆的人理论上都与拥有相同存储库克隆的任何其他开发人员“平等”。使用这种方法的主要原因之一是允许任何开发人员继续他们的工作,而无需始终连接到集中式主服务器。如果您有自己的完整副本,并且与其他副本“相同”,则可以针对它进行开发并稍后同步。
它是去中心化的......
...主要出于上述相同的原因。核心概念之一是没有“主”服务器。问题在于,在许多情况下(例如大公司的软件工程师),确实需要有一个集中的主人。并不是说 Git 不适合这种类型的工作流( clone --> develop --> commit --> push to central repo
),而是它不会强制您这样做。由于这是一种无处不在的工作方式,因此在 Git 之上使用 GitHub 来提供所需的结构以实现这种类型的开发周期已成为常态。
两者都不是?
因为它不强制你使用任何特定的工作流模型,所以得出 Git 既不是分布式也不是去中心化的结论也许也是合理的:它在很大程度上超越了这些实现细节,允许用户随心所欲地使用它。它包括抽象和灵活的功能,几乎可以适应任何工作流程,但如何工作由用户决定。这也是Git对于新手来说如此难学的主要原因之一。
所以请记住,Git 和 GitHub 是不一样的。 Git 是一个版本控制工具,而 GitHub 是一个协作工具,恰好使用了 Git,并且为特定类型的开发周期提供了一个框架,该框架为许多人非常熟悉和熟悉。
此外,git 可以与任何主机通信,它绝不依赖于 GitHub 来提供集中化,即使我们经常将其视为如此。 Git 可以使用 SSH、HTTP(S) 甚至它自己的专有协议(protocol)从任何其他系统上的存储库推送和获取数据,前提是用户能够登录到该主机。
区块链呢?
Git 确实使用与许多常见区块链实现(例如:比特币、以太坊)相同的底层数据结构——称为哈希树(或默克尔树)。更重要的是,git 和区块链都有一些非常相似的要求:它们都寻求去中心化和分布式。但是这些功能如何适应这两种技术的总体目的是完全不同的。
对于区块链,去中心化的概念主要集中在保持共识的需要上:大多数节点都同意他们正在构建的分类账内容,这对区块链的完整性至关重要。那是因为每个条目都基于前一个条目的正确性。没有达成共识,区块链的整体用途尚不清楚。
将其与 Git 进行比较,虽然有些人可能会争辩说,共识对于维护存储库的完整性也很重要,但对于 Git 作为工具的一般用途而言,它并不是那么固有。同一个 repo 的两个克隆可能会严重不同步,而不会削弱我使用它们中的一个(或两个)进行版本控制的能力。只要我不介意进行一些手动 merge ,它也不排除我能够利用两者的一部分。 Git 甚至允许进行一些非常广泛的“树手术”,在其中我可以自由地重写历史,从不同来源(甚至没有共同祖先的来源)中挑选片段,事后将它们拼接在一起,以创建一系列纯虚构的事件.
因此,虽然这两种技术有一些表面上的相似之处——有些也有一些更深层次的相似之处——但它们服务于不同的目的,有自己独特的设计要求,因此它们不能直接相互比较。
关于git - Git 是分布式的还是去中心化的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59509764/
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: How to align a to the middle of the page 这是一个简单的问题,应该有一个简
我想知道如何在屏幕中央的ListView中生成2个itens。 class _CategoriesState extends State { List categories = ["Anterio
我需要修复 UICollectionView 的一个小问题,当在 6s 设备尺寸上时,我得到如下布局: 但是,我想知道将它们居中以使其成为两条线的最佳方法是什么,或者我应该将它们缩小一点以便可以放置其
我尝试在 UIImageView 中居中 CAShapeLayer 但没有成功,我找到了解决方案,将其(CAShapeLayer)添加到 UIVIew,然后将 UIVIew 添加到 ImageView
一直在从线性布局和相对布局切换,因为我想实现图像的居中。 显示图片:
* { margin:0; padding:0; } /** General Style Info **/ body { background: #003d4c; co
我目前正在尝试修改我在 Wordpress 上的 Royal Slider 插件 (http://dimsemenov.com/plugins/royal-slider/) 我的目标是将所有标题的文本
我已经坚持了一段时间,因此简化了我的要求。当您单击标记时,信息窗口将打开,当用户缩放时,我希望该标记位于 map 的中心。这不起作用,但我认为它很接近: function bindInfoWindow
/* Linked Styles */ body { padding: 0 !important;
这个问题在这里已经有了答案: How do I center floated elements? (12 个答案) 关闭 7 年前。
这个问题在这里已经有了答案: Is there an equivalent to background-size: cover and contain for image elements? (1
我试图让我的页眉停留在页面的中间,不管我在什么窗口大小。 我试过使用 Bootstrap。 StackOverflow 还有这个 CSS。 .section-t
我有一个 1600 像素宽的页面。主要区域虽然只有 900 像素宽。我有一个导航应该固定在页面的中心(它是)。我的问题是当我打开页面时,页面固定在左侧而不是在打开时居中。当用户访问该网站时,我需要做什
我正在尝试找到 View 的中心。对于非旋转 View ,该值是正确的,但对于旋转 View ,它不正确,因为中心 (0,0) 正在旋转。在缩放的情况下,即使缩放后宽度和高度也保持不变 我正在使用以下
预期效果是将 Kartennummer 和 Passwort 集中。 这怎么可能? 我为此使用了一个自定义类: import 'package:flutter/material.dart'; impo
我管理着许多 Maven 项目。他们中的大多数部署到我们的内部 maven 存储库。现在我想开始向 Maven Central 发布一个项目。到目前为止,我有一个父 POM,它指定了我们内部存储库的
我试图锚定两个进展,但我看不到获得预期结果的方法。 我希望左边的进度条固定在左边,右边的条固定在中心固定(如下图所示) (下图显示调整大小的表格) 我尝试将控件放在具有各种 anchor 的停靠面板上
我正在玩 Angular 模态 ui 对话框。我想知道有什么方法可以让它居中?我发现了一个类似的问题: Twitter Bootstrap - Center Modal Dialog 但无法使其工作,
是否可以将值标签放置在条形上,使它们位于条形的中心? 如果我设置条形 align: "center",则条形上的标签将关闭且不居中。 $(function() { var d
http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-signalr-20-s
我是一名优秀的程序员,十分优秀!