35-Git笔记-qianfeng-笔记

一、Git简介
①:项目的版本管理
在项目开发过程中,项目没开发到一个节点就会对当前项目进行备份,这个备份就是项目的一个版本;当我 们继续开发一个阶段后,再次进行备份,就生成新的版本一一多个版本的集合就是项目的版本库
在项目版本管理中,我们可以使用手动进行管理,但是存在一些问题:
- 需要手动维护版本的更新日志,记录每个版本的变化
- 需要手动查找历史版本,当历史版本比较多的时候,查找工作很繁琐
- 当我们需要回退到某个版本时,只能够手动的通过DE工具手动打开
②:团队协同开发

③:版本管理工具—Git
Git是以恶搞开源的分布式版本控制系统,用于敏捷高效的处理任何大小项目的版本管理
核心功能
二、Git下载及安装
①:下载
②:安装
除了选择安装位置以外,其他都傻瓜式安装
③:检查安装

三、Git架构

四、Git基本使用
①:创建版本库
- 在工作空间的目录中,右键“
Git Bash Here
”打开git终端 - 在Git终端中输入git init指令,创建版本库(就是一个.git目录)

指令:git init

②:查看版本状态
git status
③:将工作空间的修改添加到暂存区
git add a.txt
只将工作空间中的某个文件add到暂存区
git add·
将工作空间中所有文件都add暂存区

④:将暂存区内容提交到版本库(仓库)
git commit -m
‘版本说明(描述)’

⑤:查看
git log
查看每个版本的详细信息
git log --oneline
每个版本只显示一行信息

⑥:设置用户信息
git config --global user.name 'Coke666'
设置用户名
git config --global user.email 'coke@haha.com'
设置用户邮箱


⑦:同步历史版本到工作空间
git add .
添加到暂存取
git commit -m '版本日志(描述)'
提交
git log --oneline
查看版本信息
> git checkout 版本号

注意 : 只能查看当前版本之前的信息

不过 可以回到最新版本
, 但是要记住版本号!!!!

五、远程仓库
①:远程仓库介绍
远程仓库,远程版本库; 实现版本库的远程存储,以实现团队的协同开发
远程仓库 |
---|
 |
②:如何获得远程仓库?
③:创建远程仓库(码云)
1. 注册(注册步骤略~) |
---|
 |
2. 创建仓库 |
---|
 |
仓库地址: https://gitee.com/c-coke/git-demo.git |
 |
3. 添加协同开发人员 |
---|
 |
六、远程仓库操作
①:准备工作
-
创建本地工作空间
D:\OOP\java\develop_idea\04_git\01_gitDemo
src
main
java
resources
test
java
pom.xml

2. 初始化本地仓库
git init

-
将工作空间搭建的项目结构add
到暂存区
git add .

-
将暂存区文件提交到版本库,生成第一个版本
git commit -m '创建项目'

-
为当前项目创建一个远程仓库
远程仓库地址: https://gitee.com/c-coke/01_git-demo.git

②:本地仓库关联远程仓库并查看
建立D:\OOP\java\develop_idea\04_git\01_gitDemo
的本地仓库与 远程仓库https://gitee.com/c-coke/01_git-demo.git
的关联
git remote add origin https://gitee.com/c-coke/01_git-demo.git 关联远程仓库
git remote -v 查看远程仓库的状态

③:将本地仓库push
到远程仓库
git push origin master origin 远程仓库的别名 master 远程仓库分支名


在本地仓库中新建文件
main\java
新建 HelloWorld.java
main\resources
中新建一个img
文件夹并在该文件夹中存一张照片添加到暂存区 → 提交 → push到远程仓库


④:其他开发者pull远程仓库到本地
- 直接从远程仓库上传文件(模拟其他开发人员提交的代码)

指令 :git pull https://gitee.com/c-coke/01_git-demo.git master

⑤:解决协同开发冲突问题
1. 模拟其他开发人员修改信息 |
---|
 |
2.在本地也修改HelloWorld.java中的内容 👉并添加👉提交 |
---|
 |
|
3. 当push到远程仓库时会报错(冲突) |
---|
 |
出现以下问题解决方法

⑥:从远程仓库拉取报错

七、分支管理

①:分支介绍
分支就是版本库中记录版本位置(支线),分支之间项目不影响,使用分支可以对项目起到保护作用
分支就是一条时间线,每次提交就在这条时间线上形成一个版本
②:分支特性
- 创建一个新的版本库,默认创建一个主分支-master分支
- 每个分支可以进行单独管理(常规分支、保护分支、只读分支)
- 分支是可以合并的
③:分支操作

01.创建分支
创建分支:git branch 分支名 |
---|
 |
02.查看分支

查看分支:gti branch |
---|
 |
03.切换分支
切换分支:git checkout 分支名 |
---|
 |
04.删除分支内容
提交删除信息:git commit -a -m '描述 |
---|
 |
05.检出分支
检出分支:git checkout 版本号 -b 分支名 |
---|
 |
06.合并分支1(三方合并)
1.先在dev2分支下新建一个文件(master主分支没有的文件) |
---|
 |
2.切换回主分支(master) |
---|
 |
3.合并分支:git merge 分支名 |
---|
 |
07.合并分支2(快速合并)
1.在master分支下新建dev3分支并在该分支下新建dev3.txt文件 |
---|
 |
2.切换会master分支 |
---|
 |
3.在master分支下合并dev3分支 |
---|
 |
08.三方合并和快速合并的区别

09.删除本地分支
git branch -d local_branch_name
git branch 是在本地删除分支的命令。
-d 是一个标志,是命令的一个选项,它是--delete. 顾名思义,
它表示您要删除某些内容。-local_branch_name是要删除的分支的名称。
④:企业分支模型

八、标签操作


①:创建新标签并推送到远程仓库

②:检出标签(下载)
多个标签切换对比
1. 创建新的文件 |
---|
 |
2. 创建一个新的标签并推到远程仓库 |
---|
 |
3. 检出标签(检出标签必须创建一个新的分支) |
---|
 |
九、IDEA整合Git使用
作为Jva开发工程,我们代码的编写工作都是在lDE工具(idea)中完成,因此我们需要了解和掌握直接使用IDE工具完成Git的操作
①:IDEA关联Git
1.使用Settings for New Projects 永久设置 |
---|
 |
 |
②:IDEA中Git版本管理
01.准备工作
准备工作
02.创建本地版本库
创建版本库 |
---|
 |
 |
03.设置忽略文件(不需要提交的文件)
在工作空间中有些文件是不需要记录到版本库中的(例如.idea、target、iml文件),可以通过设置忽略提交 来实现
- 在工作空间的根目录(项目的根目录)中创健一个名为.g1 tignore文件
- 在.g1t1 gnore文件配置忽略过滤条件
04.将工作空间add到暂存区
1. 选择项目文件-右键-Git-Add(添加到暂存区的文件-绿色) |
---|
 |
 |
2. 如果一个文件创建好之后还没有添加到暂存区-棕红色 |
---|
 |
3.添加到暂存区的操作可以设置默认添加 |
---|
 |
 |
06. 克隆远程仓库
方式一


方式二


克隆一个(开源)的远程仓库

05.将暂存区提交到版本库
1.选择项目/文件-右键-Git-Commit(记录到版本库的文件-黑色) |
---|
 |
 |
2. 如果对记录到版本库的文件进行了修改,也就是说工作空间和版本库不一致一-蓝色 |
---|
 |
 |
③:IDEA中Git分支管理
01.创建分支
1. 点击IDEA右下角Git 2. 在弹窗中点击New Branch 3. 输入新分支的名称 |
---|
 |
02.切换分支
1.点击IDEA右下角Git 2.点击非当前分支右边的箭头 3. 在选项卡点击checkout |
---|
 |
03.删除分支
04.合并分支
例如:将dey合并到naster
- 切换到master分支
- 点击dey分支右面的箭头,在展开的菜单中选择
Merge into current
1.在dev分支中添加一些内容并提交 |
---|
 |
 |
④:IDEA中使用Git进行团队协同开发
01.项目管理者
-
完成项目的搭建
-
为当前项目创建本地版本库
-
将搭建好的项目提交到本地版本库
- add到暂存区
- 提交
-
创建远程仓库
- https://gitee.com/c-coke/02_git-demo2.git
- 管理👉添加开发者
-
将本地仓库push到远程仓库
- 在远程仓库新建dev分支(master需要进行保护)
- 将本地dev push到远程仓库
|
|
|
| - 将master分支设置为保护分支
02.项目开发者
- 从管理员提供的远程仓库pull到本地
- 远程仓库:https://gitee.com/c-coke/02_git-demo2.git

1. 在远程仓库中直接修改代码 模拟其他开发人员 |
---|
 |
2. 拉取远程仓库的信息 |
---|
 |
 |
⑤:IDEA中使用Git的冲突解决
1. 模拟同时提交冲突问题 |
---|
 |
2. 模拟另外一名开发者 在本地同样的文件中添加一行代码 |
---|
 |
3.本地开发人员push到远程仓库 |
---|
 |