zoukankan      html  css  js  c++  java
  • GIT使用—一些概念

    (1)Git版本库(repository)

    一个简单的数据库,包括所有用来维护与管理项目的修订版本和历史的信息。
    Git维护两个主要的数据结构:

    • 对象库(object store)—在复制操作时能进行有效复制,用来支持完全分布式VCS的一种技术。
    • 索引(index)—暂时的信息,对版本库来说是私有的,并且可以在需要时按需求进行创建和修改。

    (2)Git对象类型

    1、块(blob)
    文件的每一个版本表示为一个块

    2、目录树(tree)
    代表一层目录信息

    3、提交(commit)
    保存版本库中每一次变化的元数据,包括作者、提交者、提交日期和日志消息

    4、标签(tag)
    分配一个任意的可读名字给一个特定对象,通常是提交对象

    (3)索引

    是一个临时的、动态的二进制文件,描述整个版本库的目录结构。
    索引捕获项目在某个时刻的整体结构的一个版本。

    工作原理:
    作为开发者,通过执行Git命令在索引中暂存变更,索引会记录和保存这些变更,保障它们的安全直到开发者准备提交。

    (4)可寻址内容名称

    Git对象库被组织及实现成一个内容寻址的存储系统。每个对象都有一个唯一的名称,如:0a3071601cc10777e271a952ead46cffba233e24

    (5)Git追踪内容

    1、当Git放置一个文件到对象库中时,它基于数据的散列值而不是文件名,即便两个文件内容一样,无论是否在相同的目录,Git只保存一份块形式的内容副本。
    2、当文件从一个版本变到下一个版本时,Git的内部数据库有效地存储每个文件的每个版本,而不是它们的差异。

    (6)打包文件

    创建一个打包文件,Git首先定位内容非常相似的全部文件,然后为它们之一存储整个内容,之后计算相似文件之间的差异并只存储差异。

    (7)对象库图示

    (8)Git中的文件分类

    • 已追踪的(Tracked)
    • 被忽略的(Ignored)
    • 未追踪的(Untracked)

    (9)git commit的一些注意事项

    git commit --all
    -a 或 --all 会导致执行提交之前自动暂存所有未暂存和未追踪的文件变化,包括从工作副本中删除已追踪的文件。

    (10)其他使用技巧

    查看版本库文件信息

    [root@localhost public_html]# git ls-files --stage
    100644 8638631b774c05291d21eb5541aa546d2bd6cf85 0	foo.html
    100644 8638631b774c05291d21eb5541aa546d2bd6cf85 0	index.html
    

    将一个文件由已暂存转化为未暂存

    [root@localhost public_html]# git rm --cached index.html
    

    强制删除文件

    [root@localhost public_html]# git rm -f index.html
    

    恢复文件的旧版本

    [root@localhost public_html]# git checkout HEAD -- index.html
    

    取消已缓存的内容

    [root@localhost public_html]# git reset HEAD -- hello.php
    
  • 相关阅读:
    【接口平台】上报接口处理时间
    【性能测试】吞吐量上不去的问题
    vue层级选择器多选
    打家劫舍 II
    打家劫舍
    房屋染色 II
    距离顺序排列矩阵单元格
    根据身高重建队列
    将 x 减到 0 的最小操作数
    确定两个字符串是否接近
  • 原文地址:https://www.cnblogs.com/tongxiaoda/p/8478520.html
Copyright © 2011-2022 走看看