git是什么工具

Git是一款分布式源代码管理工具(版本控制工具) 。git 是一个分布式版本控制软件,与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。

git是什么工具-Worktile社区

什么是git

git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于 2005 年以 GPL 发布。最初目的是为更好地管理 Linux 内核开发而设计。应注意的是,这与 GNU Interactive Tools 有所不同。 git 最初的开发动力来自于 BitKeeper 和 Monotone。

git 最初的开发动力来自于 BitKeeper 和 Monotone。git 最初只是作为一个可以被其他前端(比如 Cogito 或 Stgit)包装的后端而开发的,但后来 git 内核已经成熟到可以独立地用作版本控制。很多知名的软件都使用 git 进行版本控制,其中包括 Linux 内核、X.Org 服务器和 OLPC 内核等项目的开发流程。

主要功能

git 是用于 Linux 内核开发的版本控制工具。与 CVS、Subversion 一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git 的速度很快,这对于诸如 Linux 内核这样的大项目来说自然很重要。git 最为出色的是它的合并追踪(merge tracing)能力。

实际上内核开发团队决定开始开发和使用 git 来作为内核开发的版本控制系统的时候,世界上开源社群的反对声音不少,最大的理由是 git 太艰涩难懂,从 git 的内部工作机制来说,的确是这样。但是随着开发的深入,git 的正常使用都由一些友善的命令来执行,使 git 变得非常好用。现在,越来越多的知名项目采用 git 来管理项目开发,例如:wine、U-boot 等。

作为开源自由原教旨主义项目,git 没有对版本库的浏览和修改做任何的权限限制,通过其他工具也可以达到有限的权限控制,比如:gitosis、CodeBeamer MR。原本 git 的使用范围只适用于 Linux/Unix 平台,但在 Windows 平台下的使用也日渐成熟,这主要归功于 Cygwin、msysgit 环境,以及 TortoiseGit 这样易用的 GUI 工具。git 的源代码中也已经加入了对 Cygwin 与 MinGW 编译环境的支持且逐渐完善,为 Windows 用户带来福音。

Git数据库介绍

Git中的大多数操作只需要本地文件和资源来运行 – 通常不需要来自网络上另一台计算机的信息。当您在Git中执行操作时,几乎所有操作都只将数据添加到Git数据库。很难让系统做任何不可撤销的事情或者以任何方式擦除数据。与任何VCS一样,您可能会丢失或搞乱尚未提交的更改,但在将快照提交到Git之后,很难丢失,尤其是在您经常将数据库推送到另一个存储库时。

延伸阅读:

git实现原理

git 和其他版本控制系统(如 CVS)有不少的差别,git 本身关心文件的整体性是否有改变,但多数的版本控制系统如 CVS 或 Subversion 系统则在乎文件内容的差异。git 拒绝保持每个文件的版本修订关系。因此查看一个文件的历史需要遍历各个 history 快照;git 隐式处理文件更名,即同名文件默认为其前身,如果没有同名文件则在前一个版本中搜索具有类似内容的文件。

git 更像一个文件系统,直接在本机上获取数据,不必连线到主机端获取数据。 每个开发者都可有全部开发历史的本地副本,changes 从这种本地 repository 复制给其他开发者。这些 changes 作为新增的开发分支被导入,可以与本地开发分支合并。

分支是非常轻量级的,一个分支仅是对一个 commit 的引用。

git 是用 C 语言开发的,以追求较高的性能。git 自动完成垃圾回收,也可以用命令 git gc –prune 直接调用。

git 存储每个新创建的 object 作为一个单独文件。为了压缩存储空间占用, packs 操作把很多文件(启发式类似名字的文件往往具有类似内容)使用差分压缩入一个文件中(packfile),并创建一个对应的索引文件,指明 object 在 packfile 中的偏移值。新创建的对象仍然作为单独文件存在。repacks 操作非常费时间,git 会在空闲时间自动做此操作。也可用命令 git gc 来直接启动 repack。packfile 与索引文件都用 SHA-1 作为校验和并作为文件名。git fsck 命令做校验和的完整性验证。

Git 服务器典型的 TCP 监听端口为 9418。

文章标题:git是什么工具,发布者:小编,转载请注明出处:https://worktile.com/kb/p/33531

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2022年12月27日 下午10:26
下一篇 2022年12月30日 上午6:44

相关推荐

  • confluence如何使用

    使用步骤:1. 注册与登录;2. 创建空间;3. 创建页面;4. 协作与评论;5. 管理权限;6. 搜索与过滤;7. 集成其他工具。首先您需要注册一个Confluence账号。如果您的公司已经购买了Confluence许可证,那么您可以向管理员索取账号和访问权限。 1. 注册与登录 首先,您需要注册…

    2023年2月27日
    1.1K00
  • 地图瓦片一般用什么数据库来存储管理

    一般用以下数据库:一、MySQL;二、PostgreSQL;三、MongoDB;四、Amazon S3。MySQL是一个广泛使用的关系型数据库管理系统,它支持地图瓦片的存储和管理。使用MySQL存储和管理地图瓦片需要创建一个包含“x”、“y”和“z”等字段的表,分别表示瓦片的行、列和缩放级别。 一、…

    2023年5月30日
    81500
  • Visual C  .NET的存在意义是什么

    存在意义是:1. 提供强大的开发环境;2. 支持多种应用程序类型;3. 提高开发效率;4. 与.NET框架紧密集成;5. 提供丰富的第三方组件;6. 提供广泛的支持和资源。Visual C .NET提供了一个强大的开发环境,使得开发人员可以更加高效地进行应用程序开发。 1. 提供强大的开发环境 Vi…

    2023年3月1日
    31100
  • 国内知名工单管理系统有哪些

    国内知名工单管理系统有:1、PingCode;2、容联七陌;3、Udesk;4、网易七鱼;5、天润融通;6、帮我吧;7、工单速派;8、工单速派;9、锦艺工单;10、工单管家。PingCode 是国内拔尖的软件研发管理工具提供商。 一.成熟的工单管理系统应该具备哪些功能 首先,工单系统一定是个性化的系…

    2023年2月1日
    77200
  • vscode为什么默认安装在

    VSCode(Visual Studio Code)默认安装在系统的应用程序目录中,这主要是因为安全性、系统结构要求、用户权限管理、便于管理和更新。安装在系统预设的目录下能够确保软件的正常运行和获取必要的权限,同时这也是多数操作系统推荐的做法来避免潜在的权限和安全性问题。 具体来说,将VSCode安…

    2024年4月3日
    7200
  • devops上能做什么

    开发运营(DevOps)模式能够实现自动化流程部署、持续集成与交付、监测管理及团队协作等关键实践、1、自动化流程:简化复杂操作、提高效率。 开发运营(DevOps)理论基础在于促进软件开发(Development)与信息技术运织(Operations)的密切协作与整合。传统软件开发模式因分割明显的团…

    2024年3月26日
    7300
  • SEO和SEM区别

    SEO与SEM的区别主要体现在:1、本质不同;2、实施方式不同;3、效果周期不同;4、成本投入不同;5、目标人群不同。总体来说,SEO更注重提高网站的自然排名,而SEM则更侧重于通过付费广告来提高网站的曝光度。 一、本质不同 SEO(Search Engine Optimization),即搜索引擎…

    2023年5月24日
    43800
  • 土建项目部如何管理建筑

    土建项目部管理建筑的关键在于规划和组织、资源优化、质量监控、进度管理、安全监督。规划和组织工作是管理建筑项目成功的基石。有效的规划涉及明确项目目标、制定详尽的工作计划、并根据项目需求动态调整。组织则负责建立一支能够实现项目目标的团队,确保团队成员间的合作与沟通,以及角色和职责的明确分配。项目部必须确…

    2024年4月10日
    5000
  • 用什么软件可以做日常工作的管理

    做日常工作管理的软件有:一、任务管理软件;二、日程管理软件;三、云存储软件;四、办公软件。任务管理软件可以帮助我们记录、安排和完成任务。其中比较常见的有:1、Trello;2、Asana;3、Todoist。 一、任务管理软件 任务管理软件可以帮助我们记录、安排和完成任务。其中比较常见的有以下几种:…

    2023年3月3日
    1.0K00
  • 智能轮椅APP开发一般具备哪些功能

    智能轮椅APP开发一般具备哪些功能:1、智能连接操控;2、智能体检;3、一键呼救功能;4、轮椅信息查看;5、定位服务;6、查看轨迹功能。用户只需要打开手机蓝牙或者WiFi连接智能轮椅,连接完成之后用户即可在手机上操控轮椅。 一、智能连接操控 用户只需要打开手机蓝牙或者WiFi连接智能轮椅,连接完成之…

    2023年5月12日
    33000

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部