Git的一些知识
Git
Git的特点:
- Git存储的是文件快照, 即整个文件内容, 并保存指向快照的索引
- 分布式
原理
这个之前面试实习的时候被问到过, 搞懂基本原理还是很重要的
Git的目录结构在执行git init
后文件夹下的.git
目录
子目录名 | 简要描述 |
---|---|
branches | Git项目分之信息 |
condig | Git项目配置信息 |
description | Git项目描述信息 |
HEAD | 指向Git项目当前分支的头指针 |
hooks | 默认的hooks脚本, 指Git项目要忽略的文件 |
objects | 数据对象, 有: commit, trees, blobs, tags |
refs | 指向所有分支的指针 |
快照原理
Git通过对文件进行SHA-1
计算作为文件的内容生成一个40位的Hash值, Hash值相同, 则文件内容相同
存储区
git的四个存储区
- 工作区
- 暂存区
- 本地仓库
- 远程仓库
- git add file 就是把文件添加到暂存区
- git commit -m "说明" 提交更改, 就是把暂存区的所有内容提交到本地仓库, 即当前分支, git会自动创建一个master分支
暂存区的好处:
- 能够实现部分提交
- 为了不在工作区创建状态文件, 污染工作区
- 暂存区记录了文件的的修改时间, 提高文件的比较效率
分支
git速度比较快的原因是分支就是一个指向Commit的指针, 每次提交, 只需要移动这个指针就行了
Git的一些知识的更多相关文章
- 程序员必知必会Git的小知识
单人开发 1.初始化一个仓库 git init //cd到你工作的文件夹,初始化git仓库,默认会生成.git隐藏目录 2.配置自己的信息(Git 不喜欢不愿透漏姓名的人) git config -- ...
- git github简单知识
Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remo ...
- Git入门——基础知识问答
问题一:为什么要选择Git作为Android开发的版本控制工具? 答:1)git是android项目和社区的统一语言. 2)高通版本发布频繁,需要与平台及时同步,快速re ...
- Git的相关知识
什么是git Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Lin ...
- git 的相关知识
参考文章 git checkout HEAD <file> : master/HEAD -> index -> work directory index 暂存区有两行信息.分 ...
- GIt的基本知识
以前已经把git 看过一遍了,由于好久没有用它 ,现在已经忘了.现在呢,要用它进行同步代码,所以呢,我打算记一记,再复习复习. 参考文件:https://git-scm.com/book/zh/v2 ...
- [工具] Git版本管理(知识总结)
对以下文档进行了简要总结,方面复习: [工具] Git版本管理(一)(基本操作) [工具] Git版本管理(二)(分支) [工具] Git版本管理(三)(工作流) [工具] Git版本管理(四)(贡献 ...
- git的基础知识
git 分布式版本控制工具 具备的功能 协同开发 多人并行不悖修改服务器端的同一个文件 数据备份 不仅保持目录和文件当前状态,还能保存每一个提交的历史版本 版本管理 保存每一个版本的文件信息的时候做到 ...
- 认识Git并了解Git的基本知识
目录 认识Git 版本控制 版本控制的发展史 安装Git Git的核心概念 Git的使用原理 Git的工作流程 Git的基本流程 Git与SVN的区别 Git的基本使用 初始化Git 创建一个Git仓 ...
随机推荐
- Docker Machine 详解
笔者在<Docker Machine 简介>一文中简单介绍了 Docker Machine 及其基本用法,但是忽略的细节实在是太多了.比如 Docker 与 Docker Machine ...
- jquery水平导航菜单展示
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Kafka 源代码分析之MessageSet
这里分析MessageSet类 MessageSet是一个抽象类,定义了一条log的一些接口和常量,FileMessageSet就是MessageSet类的实现类.一条日志中存储的log完整格式如下 ...
- 遇到android.os等系统sdk包没有自动导入的情况
采取手动导入,build path,然后add external jar,找到sdk的安装目录,导入android 的jar包即可
- 为实体类增加toJSON方法
后期子类继承该基础类即可. package com.lichmama.test; import java.io.Serializable; import java.lang.reflect.Field ...
- c# 上传附件大小限制的问题
在c# 相关的asp.net 中.需要设置附件的大小.需要修改2部分. 1.修改metabase.XML 以Windows2003 为例子. 打开 C:\Windows\System32\Inets ...
- [jbdj]SpringMVC框架(3)映射器
映射器:什么样的请求交给Action. 1} class : BeanNameUrlHandlerMapping 要掌握, 将程序员定义的Action所对应的<bean>标签的nam ...
- Unity3D调用摄像头
代码启用摄像头 .using UnityEngine; .using System.Collections; . .public class WebCamManager : MonoBeh ...
- Aspose.words 书签定位
1. 简介 Aspose.words 可以在不使用 Microsoft.Word 的情况下生成.修改.转换.打印文档.不依赖office组件,这一点给我们提供了极大的便利性,可以简单的引入 DLL(D ...
- table初始化
table, th , td { border: 1px solid grey; border-collapse: collapse; padding: 5px;}