一、简介

远程仓库
用于托管代码的地方(Github、gitee),处于公网上。如果项目设置公开,其他人都可以下载、fork该项目。
本地仓库
本地用来保存项目代码的地方,一般情况下本地仓的代码会与远程仓库保持一致
64 -  Git - 图1

二、常见指令

2.1 基础指令

git init 将当前目录初始化成本地仓库
git add 让Git管理指定的文件
git commit -m 提交到本地仓库
message:描述
git clone https://gitee.com/xiangweilll/java75test.git 克隆项目到本地
git pull https://gitee.com/xiangweilll/java75test.git master 拉取最新代码到本地仓库

2.2 提交代码

1、修改文件
2、git add 文件
3、git commit -m ‘xxxx’
4、git push -u origin master 推送到远程仓库

2.3 拉取代码

另一个人
在自己的本地仓库里通过:git pull 地址 master将最新的代码拉取到本地仓库,例如:
git pull https://gitee.com/xiangweilll/java75test.git master

2.4 Git控制版本原理

缓冲区:文件修改之后需要先git add,将修改的内容添加缓冲区
head文件:在进行add之后执行git commit,将修改内容通过标记的方式添加到head文件中;head文件可以认为是一个日志文件,记录本地仓库中所有commit、pull等操作
64 -  Git - 图2

2.5 版本相关指令

git status 查看本地仓库状态
git diff 查看哪些文件做了修改
git log 查看提交的历史记录

版本回退
git reset —hard HEAD^ 回到上一个版本 本地
git push origin HEAD —force 将本地的head文件强制推送到远程仓库,覆盖远程仓库中的head文件 远程回退

三、IDEA上使用Git

3.1 将代码交给Git托管

image.png
image.png
image.png

3.2 将代码提交到本地仓库

image.png
image.png
image.png
弹出的对话框选择commit

3.3 上传到Git远程仓库

image.png
image.pngimage.png
填写仓库URL
image.png
点击OK后点击PUSH

四、代码冲突、分支、版本回退

4.1 代码冲突

产生的原因:是因为不同的开发者修改了同一个文件
64 -  Git - 图13
解决方案:将远程仓库的代码与本地仓库的代码进行合并,然后再推送到远程仓库

4.2 分支

在Git中为了方便项目管理、发布等操作,通常将项目分为多个分支,每一个分支作用不一样,例如:
master:主分支,控制整个项目的大版本、稳定版本、项目的发布,这分支上的代码一定是经过严格测试没什么问题代码,可以直接发布的代码。
develop:开发分支,用来控制项目的小版本,没有经过严格测试的代码,不用来进行的发布,仅仅是用于不同开发者协作的分支
个人分支:每一个程序员都应该有一个自己的分支,该分支上用来保存自己的代码
64 -  Git - 图14

4.3 版本回退

一般不建议进行版本回退,而应该采用反向提交的方式达到版本回退的效果
操作流程:
1、找到本地分支,在需要回退到的版本上右键选择”revert commit”,然后进行代码合并
2、如果远分支的代码也需要回退,那么在第一步回退完之后,可以将最新的版本push到远程分支完成远程版本回退
64 -  Git - 图15