# git 

## 1. 在 gitee 上注册

+ 假设
  - 用户 tom
  - 仓库 nuaaos

+ 注册
  - 记住用户名和密码

+ 新建仓库
  - 记住仓库路径
  - https://gitee.com/tom/nuaaos
  - 新建的仓库是空的
  - 使用私有

## 2. git clone

+ git clone https://gitee.com/tom/nuaaos
  - nuaaos 是一个空仓库 
  - 把 gitee 服务器上的仓库复制到本地 

## 3. git config

+ cd nuaaos
+ git config user.name tom
+ git config user.email tom@nuaa.edu.cn

## 4. 提交

+ git add file
  - 把文件 file 加入到暂存区

+ git add dir
  - 把目录 dir 下所有的文件加入到暂存区

+ git add .
  - 把当前目录下所有的文件加入到暂存区

+ git commit -m 'commit message'
  - 把暂存区下的文件打包,构成一个版本
  - 将该版本,保存到本地的版本库

## 5. 推送

+ git push
  - 把本地的版本库推送到服务器

## 5. 拉取

+ git pull
  - 把远程版本库拉取到本地并合并

+ 假设两台电脑 A 和 B
  - 在 gitee 上创建一个仓库 nuaaos

+ 图示

```
A       B       gitee
main.c

A       B       gitee
main.c          main.c                

A       B       gitee
main.c  main.c  main.c                

A       B       gitee
main.c  main.c  main.c                
        math.c

A       B       gitee
main.c  main.c  main.c                
        math.c  math.c

A       B       gitee
main.c  main.c  main.c                
math.c  math.c  math.c
```

+ 在 A 上
  - git clone
  - cd nuaaos
  - git add main.c
  - git commit v1

+ 在 B 上
  - git clone
  - cd nuaaos
  - git add math.c
  - git commit v2

+ 在 A 上
  - cd nuaaos
  - git pull
  - 把文件 math.c 拉入到本地