一、 基础知识

工作区:写代码
暂存区:临时存储
本地库:历史版本

graph LR A[工作区]-->|git add|B[暂存区] B-->|git commit|C[本地库]

Git和代码托管中心
代码托管中心:维护远程库

  • 局域网环境下
    • GitLab
  • 外网环境下
    • GitHub
    • 码云

本地库和远程库

  • 团队内部协作
graph LR A[本地库1]-->|"1.git push(项目管理者)"|B[远程库] B-->|2.git clone|C[本地库2] C-->|"3.git push(需加入团队)"|B B-->|"4.git pull"|A
  • 跨团队协作
graph LR A[远程库1]-->|"1.fork"|B[远程库2] B-->|"2.git clone"|C[本地库] C-->|"3.git push"|B B-->|"4.pull request -> 审核 -> merge"|A

二、实践

  1. 初始化目录
1
git init

初始化

其中,.git目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改

  1. 设置签名

签名的作用:区分不同开发人员的身份

1
2
用户名:
Email地址:
  • 项目级别/仓库级别:仅在当前本地库范围内有效

  • 系统用户级别:登录当前操作系统的用户范围

注意
这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系;

项目级别优先于系统用户级别,二者都有时采用项目级别的签名;

如果只有系统用户级别的签名,就以系统用户级别的签名为准;

但不允许二者都没有,否则后面会报错;

1
2
git config(项目级别)
git config --global(系统级别)

例如

1
2
git config user.name lushuangning
git config user.email sdyglsn@126.com

设置签名

(未完待续)

git rebase和git merge的用法