IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git超详细使用教程 -> 正文阅读

[开发工具]Git超详细使用教程

一、Git简介

1.1 项目的版本管理

在项目开发过程中,项目每开发到一个节点就会对当前项目进行备份,这个备份就是项目的一个版本;当我们继续开发一个阶段后,再次进行备份,就生成新的版本——多个版本的集合就是项目的版本库

在项目版本管理中,我们可以使用手动进行管理,但是存在一些问题:

  • 需要手动维护版本的更新日志,记录每个版本的变化
  • 需要手动查找历史版本,当历史版本比较多的时候,查找工作很繁琐
  • 当我们需要回退到某个版本时,只能够手动的通过IDE工具手动打开

1.2 团队协同开发

image-20210521222905626

1.3 版本管理工具—Git

Git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何大小项目的版本管理。

核心功能:

  • 项目的版本管理
  • 团队协同开发

二、Git下载及安装

2.1 下载Git

https://git-scm.com
image-20210522101554175

2.2 安装Git

除了选择安装位置以外,其他都傻瓜式安装

2.3 检查

  • win + r
  • 输入cmd
  • 输入 git --version

三、Git架构

image-20210523190406896

四、Git的基本使用

4.1 创建版本库

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

image-20210523191747219

4.2 查看版本库状态

git status

4.3 将工作空间的修改添加到暂存区

git add a.txt	## 只将工作空间中的某个文件add到暂存区
git add .	## 将工作空间中所有文件都add暂存区

4.4 将暂存区内容提交到版本库(仓库)

git commit -m '版本说明'

4.5 查看版本库中的历史版本

git log	##显示每个版本的详细信息
git log --oneline	##每个版本信息只显示一行

4.6 设置用户信息

因为我们将暂存区的内容提交到版本时,会记录当前版本的提交的用户信息,因此在版本提交之前需要先绑定用户信息

git config --global user.name "用户名"
git config --global user.email "邮箱"

4.7 同步历史版本到工作空间

git checkout 版本号

五、远程仓库

5.1 远程仓库

远程仓库,远程版本库; 实现版本库的远程存储,以实现团队的协同开发

image-20210524130527344

5.2 如何获得远程仓库?

  • 使用GitLab搭建私服

  • 远程仓库提供商

    • GitHub https://github.com
    • Gitee(码云)https://gitee.com
    • Coding

5.3 创建远程仓库(码云)

  • 注册账号

    • **********@163.com / ********

    image-20210524192407183

  • 创建远程仓库:https://gitee.com/***/***.git

  • 远程仓库管理(添加开发人员)

image-20210524194322641

六、远程仓库操作

6.1 push本地仓库到远程仓库

6.1.1 准备工作
  1. 创建本地工作空间

    E:\Java\javademo
    					src
    						main
    							java
    							resources
    						test
    							java
    					pom.xml
    
  2. 初始化本地仓库

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

    git add .
    
  4. 将暂存区文件提交到版本库,生成第一个版本

    git commit -m '创建项目'
    
  5. 为当前项目创建一个远程仓库

    https://gitee.com/***/***.git

6.1.2 本地仓库关联远程仓库

建立E:\Java\javademo中的本地仓库 和 远程仓库https://gitee.com/***/***.git的关联

git remote add origin https://gitee.com/ci-yun/***.git		##origin(远程仓库的别名)
6.1.3 查看远程仓库状态
git remote -v
6.1.4 将本地仓库push到远程仓库

push到远程仓库需要Gitee的账号和密码

git push origin master		##origin(远程仓库的别名),要和建立关联时的别名一致

image-20210524215838608

6.2 其他开发者pull远程仓库到本地

其他开发者:123456@qq.com 123456

6.2.1 先创建本地仓库
  • 在E:\Java\javademo创建ws目录(空目录),进入ws目录,打开Git客户端

  • 创建本地版本库

    git init
    
6.2.2 拉取远程仓库到本地
  • 拉取远程仓库

    git pull 远程仓库地址 master
    git pull https://gitee.com/ci-yun/***.git master
    

6.3 解决协同开发冲突问题

场景:		HelloWorld.java		"bbb"

开发者1:程序员A						开发者2:程序员B
-----------------------------------------------------------------------------------------
git pull origin master				 git pull origin master
									 在HelloWorld.java中新增内容 "bbb"
在HelloWorld.java中新增内容 "aaa"	
									 git add .
									 git commit -m ''
									 git push origin master
git add .	
git commit -m ''
git push origin master	##会失败!!!  ----在我pull之后,push之前被其他开发人员push过

问题:我该如何操作?
git pull origin master	##将程序员B修改的内容拉取到我本地

对文件进行冲突合并

git add .	
git commit -m ''
git push origin master

HelloWorld.java

>>>>>>>>>>>>>>>>>>>>>>>>HEAD
aaa
=================
bbb
<<<<<<<<<<<<<<<<<<<<<<<< hvsoklghviodshfjghv

七、分支管理

7.1 什么是分支

分支就是版本库中记录版本位置(支线),分支之间相互不影响,使用分支可以对项目起到保护作用

分支就是一条时间线,每次提交就在这条时间线上形成一个版本

image-20210526140356234

7.2 分支特性

  • 创建一个新的版本库,默认创建一个主分支—master分支
  • 每个分支可以进行单独管理(常规分支、保护分支、只读分支)
  • 分支是可以合并的

image-20210526141806065

7.3 分支操作

1.查看分支	git branch
2.创建分支	git branch 分支名称
3.切换分支	git checkout 分支名称	##切换到指定分支上的最新版本
4.检出分支	git checkout 版本号 -b 分支名称	##检出指定的历史版本创建新分支

三方合并	快速合并
##在master分支执行 git merge dev		表示将dev分支合并merge
5.合并分支	git merge 分支名称	##将指定的分支合并到当前分支

6.查看分支及版本试图	git log --oneline --graph

image-20210526213244112

7.4 企业分支模型

image-20210526225328882

八、IDEA整合Git使用

作为Java开发工程师,我们代码的编写工作都是在IDE工具(idea)中完成,因此我们需要了解和掌握直接使用IDE工具完成Git的操作

8.1 IDEA关联Git

image-20210526231612415

8.2 IDEA中Git版本管理

准备工作:打开IDEA新建一个web工程

8.2.1 创建本地版本库
image-20210527093358650
image-20210527093431751
8.2.2 设置忽略文件

在工作空间中有些文件是不需要记录到版本库中的(例如.idea、target、.iml文件),可以通过设置忽略提交来实现

  • 在工作空间的根目录(项目的根目录)中创建一个名为 .gitignore 文件

  • .gitignore 文件中配置忽略过滤条件

    .idea
    target
    *.iml
    
8.2.3 将工作空间add到暂存区
  • 选择项目/某个文件----右键----Git----Add(添加到暂存区的文件----绿色)

  • 如果一个文件创建好之后还没有添加到暂存区----棕红色

  • 添加到暂存区的操作可以设置默认添加

    image-20210527100033353

8.2.4 将暂存区提交到版本库
  • 选择项目/文件----右键----Git----Commit(记录到版本库的文件----黑色)
  • 如果对记录到 版本库的文件进行了修改,也就是说工作空间和版本库不一致----蓝色

8.3 IDEA中Git分支管理

8.3.1 创建分支
  • 点击IDEA右下角 Git

  • 在弹窗中点击 New Branch

  • 输入新分支的名称

    image-20210527114543887

8.3.2 切换分支
  • 点击IDEA右下角 Git
  • 点击非当前分支右边的箭头
  • 在选项卡点击 checkout
8.3.3 删除分支
点击右下角Git
image-20210527115155335
8.3.4 合并分支

例如:将dev合并到master

  • 切换到master分支
  • 点击dev分支右边的箭头,在展开的菜单中选择 Merge into current

8.4 IDEA中使用Git进行团队协同开发

8.4.1 项目管理者
  1. 完成项目搭建
  1. 为当前项目创建本地版本库

  2. 将搭建好的项目提交到本地版本库

  • add到暂存区
  • commit到版本库
  1. 创建远程版本库(远程仓库)
  • https://gitee.com/ci-yun/git-jd.git
  • 管理—添加开发者
  1. 将本地仓库push到远程仓库(master分支——master分支)
image-20210527211449451
image-20210527211649717
image-20210527212133444
  1. 在远程仓库 checkout as 新建本地 dev 分支(master分支需要进行保护)
image-20210527212726247
image-20210527213025536
  1. 将本地dev分支push到远程仓库,新建远程仓库的dev分支

image-20210527213730349

  1. 设置远程仓库中的master分支为保护分支

image-20210527214220006

8.4.2 项目开发者
  1. 从管理员提供的远程仓库pull项目到本地
  • 远程仓库 https://gitee.com/ci-yun/git-jd.git
image-20210527215234117
image-20210527221507263
  1. 打开项目(此时本地工作空间的项目和远程仓库是同步的)

  2. 开发步骤:

  • 选择要修改的文件–pull
  • 进行修改操作
  • 测试本地修改
  • add到暂存区
  • commit到本地版本库
  • push到远程仓库(dev)

8.5 解决团队协同开发的冲突问题

冲突:在pull之后,push之前被其他开发者push成功

  • 选择产生冲突的文件----pull
  • 弹出弹窗提示:accpet yours | accpet theirs | Merge
    • accpet yours 保留自己的版本(提交时会覆盖其他开发者代码)
    • accpet theirs 保留远程仓库上的版本(会导致自己修改的代码丢失)
    • Merge 手动合并(和其他开发者沟通合并方案)

mages/image-20210527221507263.png) |

  1. 打开项目(此时本地工作空间的项目和远程仓库是同步的)

  2. 开发步骤:

  • 选择要修改的文件–pull
  • 进行修改操作
  • 测试本地修改
  • add到暂存区
  • commit到本地版本库
  • push到远程仓库(dev)

8.5 解决团队协同开发的冲突问题

冲突:在pull之后,push之前被其他开发者push成功

  • 选择产生冲突的文件----pull
  • 弹出弹窗提示:accpet yours | accpet theirs | Merge
    • accpet yours 保留自己的版本(提交时会覆盖其他开发者代码)
    • accpet theirs 保留远程仓库上的版本(会导致自己修改的代码丢失)
    • Merge 手动合并(和其他开发者沟通合并方案)
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章           查看所有文章
加:2021-12-19 18:27:23  更:2021-12-19 18:27:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:03:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码