1. Git配置

git config -l
image.png

  1. # 1. 系统配置
  2. git config --system --list
  3. # 2. 全局配置
  4. git config --global --list
  5. # 3. 设置用户名和邮箱
  6. git config --global user.name "shiwei"
  7. git config --global user.email "shiwei@qq.com"

2. Git原理

image.png

工作区 (workspace)

就是我们当前工作空间,也就是我们当前能在本地文件夹下面看到的文件结构。初始化工作空间或者工作空间 clean 的时候,文件内容和 index 暂存区是一致的,随着修改,工作区文件在没有 add 到暂存区时候,工作区将和暂存区是不一致的。

暂存区 (index)

老版本概念也叫 Cache 区,就是文件暂时存放的地方,所有暂时存放在暂存区中的文件将随着一个 commit 一起提交到 local repository 此时 local repository 里面文件将完全被暂存区所取代。暂存区是 git 架构设计中非常重要和难理解的一部分。

本地仓库 (local repository)

git 是分布式版本控制系统,和其他版本控制系统不同的是他可以完全去中心化工作,你可以不用和中央服务器 (remote server) 进行通信,在本地即可进行全部离线操作,包括 log,history,commit,diff 等等。完成离线操作最核心是因为 git 有一个几乎和远程一样的本地仓库,所有本地离线操作都可以在本地完成,等需要的时候再和远程服务进行交互。

远程仓库 (remote repository)

中心化仓库,所有人共享,本地仓库会需要和远程仓库进行交互,也就能将其他所有人内容更新到本地仓库把自己内容上传分享给其他人。结构大体和本地仓库一样。

image.png
文件结构:
image.png

3. 基础使用

# 1.创建本地git项目
git init     # 在空目录下,创建git的工作目录
or
git clone xxxx  # 对文件进行克隆


# 2.提交
git status      # 查看工作区是否有变化
git add .       # 当前目录下,全部文件添加到index
git commit -m   # 暂存区内容,添加到本地仓库   -m 提交的注释
git push        # 推送到远程仓库


# 3.Git忽略某些文件
## .gitignore文件: 忽略文件中空行或#,
# 1. 忽略文件中的空行或者井号(#)开始的行将会被忽略
# 2. 可以使用Linux通配符。如:星号(*)代表任意多个字符,问好(?)代表一个字符,方括号([])代表可选字符,大括号({})代表可选字符串
# 3. 最前面的感叹号(!)代表例外规则,不被忽略
# 4. 最前面的路径分隔符(/)表示忽略的文件在此目录下,而子目录下不忽略
# 5. 最后面的路径分隔符(/)表示忽略此目录下该名称子目录,而非仅文件(默认文件和目录都被忽略)