git工作流程
- 从远程仓库中克隆 Git 资源到本地仓库
- 从本地仓库中 checkout 代码到工作区,然后进行修改
- 在提交前先将代码提交到暂存区
- 提交修改,提交到本地仓库,本地仓库中保存修改的各个历史版本
- 在修改完成以后,需要和团队共享代码时,可以将代码push到远程仓库。
git流程图
- Workspace : 工作区,就是平常存放代项目代码的地方
- Index/Stage: 暂存区,用于临时存放你的改动,事实上它是一个文件,保存即将提交到文件列表信息
- Repository: 本地仓库,就是安全存放数据的位置,这里有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。
git 文件的三种状态
- Untracked: 未被跟踪的,代表是新建的文件,还没有被添加到暂存区的 此时,这时候执行 git add 命令以后,会变成 Staged 状态
- Staged: 暂存状态的,代表执行了git add 的命令,现在文件处在暂存区,此时,如果执行 git commit 命令 则会变成 Unmodify 状态,或者在工作区修改了此文件,就会变成Modified状态
- Unmodify: 文件已入库状态, 代表 执行了git commit 命令,文件已经提交到了本地仓库中了,这个时候,如果修改工作区的该文件,状态就会变成Modified状态。如果 使用 git rm 命令,就会被已出库,变成Untracked 状态
- Modified: 已修改状态,代表文件在工作区被用户修改了,此时 如果使用git add 命令,就会变成Staged 状态,如果使用 git checkout 则源文件就会被本地库中的文件覆盖。
git 的基本配置
// 查看git所有的配置信息
git config -l
// 查看系统的配置
git config --system --list
// 配置用户名和邮箱(这个是必须配置的)
git config --global user.name "test"
git config --global user.email test123.@qq.com
// 查看用户自己配置的信息
git config --global --list
github 添加SSH keys
- 通过邮箱在本地生成秘钥
// 该命令是 在本地生成秘钥 目录是在 ~/.ssh/ 下面
ssh-keygen -t rsa -C "test@qq.com"
// 执行完上面的命令 会生成id_rsa和id_rsa.pub两个文件
// 我们需要把id_rsa.pub中的公钥配置到GitHub上
➜ learngit git:(master) ✗ tree ~/.ssh
/Users/liu/.ssh
├── id_rsa
├── id_rsa.pub
└── known_hosts
- 在GitHub上添加SSH keys就行了
参考视频
- 2020黑马Git教程(2小时从入门到精通)
- 【狂神说Java】Git最新教程通俗易懂