Git | 青训营笔记

69 阅读3分钟

一、什么是Git

Git是一款分布式源代码管理工具(版本控制工具)。Git得其数据更像是一系列微型文件系统的快照。使用Git,每次提交或保存项目状态时,Git基本上都会记录当时所有文件的外观,并存储对该快照的引用。为了提高效率,如果文件没有改变,Git不会再次存储文件,只是指向它已存储的上一个相同文件的链接。Git认为它的数据更像是一个快照流,会将数据作为项目的快照存储一段时间。可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

image.png

二、Git的特点

  • 直接记录快照,而非其他版本控制系统的"非差异比较"。

    即Git 更像是把数据看作是对小型文件系统的一系列快照。 在 Git 中,每当你提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。 为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流

  • git近乎所有操作都是在本地执行。

    git的绝大多数操作,都只需访问本地文件和资源,可以在本地仓库进行保存,需要的时候直接访问本地仓库即可(git是分布式版本控制系统,因此可以解决单点故障问题)。而对于网络仓库(github),更多时候只是从本地push到github上。当有需要的时候可以从github上pull所需版本到工作区,或从本地仓库checkout所需版本到工作区。

    举个例子,有本地仓库的话,如果要浏览项目的历史,Git 不需外连到服务器去获取历史,然后再显示出来——它只需直接从本地数据库中读取。 你能立即看到项目历史。如果你想查看当前版本与一个月前的版本之间引入的修改, Git 会查找到一个月前的文件做一次本地的差异计算,而不是由远程服务器处理或从远程服务器拉回旧版本文件再来本地处理。

三、Git的常用命令

  • git checkout master 切到主分支
  • git fetch origin 获取最新变更
  • git checkout -b dev origin/master 基于主分支创建dev分支
  • git add . 添加到缓存
  • git commit -m ‘xxx’ 提交到本地仓库
  • git fetch origin 获取最新变更
  • git add 文件名 将工作区的某个文件添加到暂存区
  • 删除版本库文件:git rm 文件名

未完待更