Git认真学习(1)

为什么要认真的学一下git呢?因为自己不小心删了公司的代码分支,吓出屎了。

git 历史以后再补上,目前是以最快的速度,过一遍git的核心操作,以及理解原理。

Git基础


1. 直接快照,而不是差异对比

那么首先,什么是快照?

关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品。

git不关心具体文件哪里改变,而是专注于 整体是否变化。


2.几乎所有都是本地操作


3.时刻保持文件的完整性

这是真的,你永远没法clone一半的项目。

  • 数据要进行校验和
  • 以此结果作为数据唯一的标识

4.多数操作仅仅是添加数据


5.文件的三种形式 (重要

首先来看三个工作区域

  1. working directory 工作目录 || 从.git目录的压缩中提取出来的,用于修改编辑
  2. staged area 暂存区域 || .git目录下的一个简单文件
  3. git directory 也就是本地仓库, || 也就是 .git 目录

这里写图片描述

而Git工作的流程是:

1.(取出?)在工作目录下修改文件 - -> 2.对修改了的文件快照,到暂存区 - -> 3.提交更新,文件快照永远的转储在Git目录下

对应三种状态如下:

  1. modified(已修改)
  2. staged (已暂存)
  3. commited(已提交)

Git 安装

linux命令行,其他都可以下载安装

$ apt-get install git //ubuntu等Debian体系
$ yum install git-core // Fedora

配置

git 提供了 git config 这个工具来实现配置,相应的 gitconfig文件 存储在 3 个地方:

  • git config --system 读写 /etc/gitconfig 系统所有用户
  • git config --global 读写 ~/.gitconfig 用户目录下配置文件,只试用于该用户
  • .git/config 是当前项目下的配置文件

每一级的配置都会 覆盖掉之前的同名配置,也就说 当前目录最大,系统范围 最小!


1. 用户信息

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

用户名和邮箱,说明了谁提交的,去掉--global 就是写在项目范围里的了


2. 配置文本编辑器 和 差异分析工具(暂时不深入研究)

$ git config --global core.editor emacs
$ git config --global merge.tool vimdiff

3. 查看配置

$ git config --list // 查看配置链表
$ git config user.name // 查看某一个配置

4. 获取帮助

$ git help <verb> //会打开一个解释网页
$ git config help // 获取配置的帮助
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值