博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git理解笔记2
阅读量:5925 次
发布时间:2019-06-19

本文共 1374 字,大约阅读时间需要 4 分钟。

Git是由 Linux 开源社区(特别是 Linux 的缔造者 Linux Torvalds)开发的。

速度。

简单的设计。

对非线性开发模式的强力支持(允许成千上万个并行开发的分支)

完全分布式。

有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)。

Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 概念上来区分,其它大部分系统以文件变更列表的方式存储信息。 这类系统(CVS、Subversion、Perforce、Bazaar 等等)将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。

Git 不按照以上方式对待或保存数据。 反之,Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流

Git 重新考虑了以前每一代版本控制系统延续下来的诸多方面。 Git 更像是一个小型的文件系统,提供了许多以此为基础构建的超强工具,而不只是一个简单的 VCS。

 

近乎所有操作都是本地执行

在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。在本地磁盘上就有项目的完整历史,所以大部分操作看起来瞬间完成。

 

Git 一般只添加数据

你执行的 Git 操作,几乎只往 Git 数据库中增加数据。 很难让 Git 执行任何不可逆操作,或者让它以任何方式清除数据。 同别的 VCS 一样,未提交更新时有可能丢失或弄乱修改的内容;但是一旦你提交快照到 Git 中,就难以再丢失数据,特别是如果你定期的推送数据库到其它仓库的话。

 

三种状态

Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂存(staged)。 已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作“索引”,不过一般说法还是叫暂存区域。

基本的 Git 工作流程如下:

  1. 在工作目录中修改文件。

  2. 暂存文件,将文件的快照放入暂存区域。

  3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

如果 Git 目录中保存着的特定版本文件,就属于已提交状态。 如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

转载于:https://www.cnblogs.com/nana135/p/6440670.html

你可能感兴趣的文章
Unix Study--AIX5.3.8 安装hacmp52 报错
查看>>
深入解析 Windows Complete PC 备份
查看>>
如何使用Cisco命令阻止访问特定网站
查看>>
nodeJS(express4.x)+vue(vue-cli)构建前后端分离详细教程(带跨域)
查看>>
Oracle DBA课程系列笔记(14)
查看>>
Finding Bad Guys with 35 million Flows, 2 Analysts, 5 Minutes and 0 Dollars
查看>>
Shell 使用技巧
查看>>
云场景实践研究第61期:莉莉丝游戏
查看>>
XenDesktop 5测试中出现的一例错误:Management Interface:Remote request failed
查看>>
用perl对CDN节点日志进行统计
查看>>
Windows Server 2008 RC0简体中文版精彩体验~~~~~~~~
查看>>
OSPF单区域网络配置
查看>>
RHEL6.3配置DNS服务器(3) 配置主域名服务器
查看>>
JavaMail实现收发邮件(五)使用SSL实现加密传输
查看>>
RedHat Linux 企业5 oracle 10g
查看>>
kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记
查看>>
JPA:detached entity passed to persist
查看>>
RedHat Enterprise Linux 7下安装 Oracle 12C
查看>>
富士施乐c1110B检测软件SM
查看>>
Office365 分配管理员角色
查看>>