Loading

Git基本理论

Git的历史

同生活中的许多伟大事物一样, Git诞生于一个极富纷争大举创新的年代。

Linux内核开源项目有着为数众多的参与者。绝大多数的Linux内核维护工作都花在了提交补丁和保存归档的繁琐事物上(1991-2002年间)。到2002年,整个项目组开始启用一个专有的分布式版本控制系统BitKeeper来管理和维护代码。

到了2005年,开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束, 他们收回了Linux内核社区免费试用BitKeeper的权力。这就迫使Linux开源社区(特别是Linux的缔造者Linus Torvalds)基于使用BitKeeper时的经验教训,开发自己的版本系统。也就是后来的Git!

Git是目前世界上最先进的分布式版本控制系统

Git是免费的、开源的、最初Git是为了辅助Linux内核开发的,来替代BitKeeper!

 

Git环境配置

1. 软件下载

Windows系统:

打开git官网 https://git-scm.com/, 下载git对应操作系统的版本。

官网下载太慢,我们可以使用淘宝镜像下载: http://npm.taobao.org/mirrors/git-for-windows/

CentOS系统:

yum install git

MacOS系统:

通过homebrew安装Git

1. 未安装homebrew,需安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 安装git

brew install git

2. 启动Git

安装成功之后在开始菜单中会有Git项, 菜单下有3个程序: 任意文件夹下右键也可以看到对应的程序

Git Bash: Unix与Linux风格的命令行, 使用最多, 推荐最多

Git CMD: Windows风格的命令行

Git GUI: 图形界面的GIt, 不建议初学者使用, 尽量先熟悉常用的命令

3.Git配置

查看配置

git config -l

 查看不同级别的配置信息

# 查看系统config
git config --system --list

# 查看当前用户(global)配置
git config --global --list

设置用户名与邮箱(用户标识, 必要)

当安装Git后首先要做的事情是设置自己的用户名称和e-mail地址。这是非常重要的, 因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中。

git config --global user.name "featherwit" # 名称
git config --global user.email "featherwit0918@163.com" # 邮箱

只需要做一次这个设置,如果传递了--global选项, 因为Git将总是会使用该信息来处理在系统中所做的一切操作。如果希望在一条特定的项目中使用不同的名称或e-mail地址,可以在该项目中运行该命令而不要--global选项。总之--global为全局配置, 不加为某个项目的特定配置

 

Git基本理论

1. 工作区域

Git本地有三个区域: 工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

  • Workspace: 工作区,就是平时存放项目代码的地方
  • Index/Stage: 暂存区, 用于临时存放你的改动,事实上它只是一个文件,保存即将要提交到文件列表信息
  • Repository: 仓库区(或本地仓库), 就是安全存放数据的位置,这里面有你提交的所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote: 远程仓库, 托管代码的服务器, 可以简单的认为是你项目组的一台电脑用于远程数据交换

本地的三个区域确切的说应该是git仓库中HEAD指向的版本:

  • Directory: 使用Git管理的一个目录, 也就是一个仓库, 包含我们的工作空间和Git管理空间
  • WorkSpace: 需要通过Git进行版本控制的目录和文件, 这些目录和文件组成了工作空间
  • .git: 存放Git管理信息的目录, 初始化仓库的时候自动创建
  • Index/Stage: 暂存区, 或者叫做待提交更新区, 在提交进入repo之前, 我们可以把所有的更新放在暂存区
  • Local Repo: 本地仓库, 一个存放在本地的版本库; HEAD会只是当前的开发分支(branch)
  • Stash: 隐藏, 是一个工作做保存栈, 用户保存/恢复WorkSpace中的临时状态

2. 工作流程

git的工作流程一般是这样的:

1. 在工作目录中添加、修改文件

2. 将需要进行版本管理的文件放入暂存区域

3. 将暂存区域的文件提交到git仓库

因此, git管理的文件有三种状态: 已修改(modified)、已暂存(staged)、已提交(committed)

 

posted @ 2020-05-14 12:33  愚者丶  阅读(218)  评论(0编辑  收藏  举报