一、Git知识扫盲
Git分为:
1.工作区:电脑中的目录
2.暂存区:计划提交的文件(git/index)
3.版本库:工作区的隐藏目录(.git文件)
Git远程仓库分为:
局域网模式:
GitLab服务器
互联网模式:
www.github.com
www.gitee.com
Git单机工作流程:
![](https://content.markdowner.net/pub/R6Ge8A-03jxBgY)
Git多人工作流程:
![](https://content.markdowner.net/pub/adWpz5-zY6mnxw)
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 //暂存区提交至本地库,同时需要备注信息
![](https://content.markdowner.net/pub/MY7Lz7-0LjMBvY)
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工作区、暂存区、本地仓库三者互相转换
![](https://content.markdowner.net/pub/NY7Pzr-aG57peP)
//提交
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
![alt](https://uploadfiles.nowcoder.com/images/20220415/694430614_1650001945401/2AEC89EC618FC8FA3807F95EB3CBC780)
2.提交到暂存区
git add ./helloworld.cpp
![alt](https://uploadfiles.nowcoder.com/images/20220415/694430614_1650002033679/6DCB094D1CAB703E8275151023E1AC62)
3.提交到本地仓库
git commit -m 'first commit' ./helloworld.cpp
4.推送到远程仓库:
1)添加远程仓库地址:名称:随意,URL:github仓库地址
git remote add origin https://github.com/yyzyyyzy/test.git
![alt](https://uploadfiles.nowcoder.com/images/20220415/694430614_1650002052045/FC3303AA9C4B7F054609498D3A6E69DD)
2)推送到远程仓库
git push -u origin main
![alt](https://uploadfiles.nowcoder.com/images/20220415/694430614_1650002074295/47C3AA083A1918F2DB2793689BC7C535)
② 从Github 克隆到本地 idea
![alt](https://uploadfiles.nowcoder.com/images/20220415/694430614_1650002083904/357F7864FF0EBBCF2F596BC66E9A505B)
③ 代码冲突问题
1.定义:和别人拉同一段代码时,修改之后需要确定使用你的还是使用他的,不然会发生代码冲突
2.解决方法:使用分支