一、Git知识扫盲
Git分为:
1.工作区:电脑中的目录
2.暂存区:计划提交的文件(git/index)
3.版本库:工作区的隐藏目录(.git文件)
Git远程仓库分为:
局域网模式:
GitLab服务器
互联网模式:
www.github.com
www.gitee.com
Git单机工作流程:

Git多人工作流程:

Git Bash命令为linux命令!!!
二、Git操作流程
1.初始化本地仓库
cd /f/golang/GitWorkSpace //进入F盘目录GitWorkSpace
git init //初始化GitWorkSpace为git仓库
2.设置系统级签名/项目级签名(用户的唯一标识符)
//项目级签名(创建在项目的.git/config)
git config user.name lzk
git config user.email 916990143@qq.com
//系统级签名(创建在桌面.gitconfig文件中)
git config --global user.name lzk
git config --global user.email 916990143@qq.com
//读取优先级:项目签名 > 系统签名
//开发过程中,通常设置系统级别签名
3.查看项目信息
git status //查看git工作目录和暂存区的状态
git log //产看git项目历史信息
4-1工作区提交到本地库
工作区 --> 暂存区 ——> 本地库
git add hello.go //工作区存储到暂存区
git rm --cached hello.go //暂存区恢复到工作区
git commit -m '首次提交' hello.go //暂存区提交至本地库,同时需要备注信息

4-2工作区提交到本地库(工作区和暂存区代码不一样)
commit结束,用户再次修改hello.go,需要“重新提交”或“重写工作区”
//重新提交
git add hello.go
git commit -m '二次提交' hello.go
//重写工作区
git checkout hello.go
4-3工作区提交到本地库(暂存区和本地仓库代码不一样)
//本地仓库恢复到暂存区
git reset HEAD hello.go
//重新提交
git add hello.go
gti commit -m '三次提交' hello.go
4-4工作区、暂存区、本地仓库三者互相转换

//提交
git add hello.go
git commit -m '首次提交' hello.go
//恢复
git reset HEAD hello.go //本地仓库恢复到暂存区
git checkout HEAD hello.go //本地仓库恢复到工作区
git checkout hello.go //暂存区恢复到工作区
git rm --cached hello.go //暂存区恢复到工作区
//查看状态
git status
git log //查看版本修改信息
5.版本恢复
git reflog //查看每个版本的hash值
git reset --hard xxx //恢复到xxx版本,xxx为版本的hash值
三、idea与GitHub协同
① 从 idea 提交到 Github
1.项目目录初始化
git init

2.提交到暂存区
git add ./helloworld.cpp

3.提交到本地仓库
git commit -m 'first commit' ./helloworld.cpp
4.推送到远程仓库:
1)添加远程仓库地址:名称:随意,URL:github仓库地址
git remote add origin https://github.com/yyzyyyzy/test.git

2)推送到远程仓库
git push -u origin main

② 从Github 克隆到本地 idea

③ 代码冲突问题
1.定义:和别人拉同一段代码时,修改之后需要确定使用你的还是使用他的,不然会发生代码冲突
2.解决方法:使用分支