IDEA + Git + GitHub(保姆级教学)

文章目录

  • IDEA + Git + GitHub
    • 1.IDEA克隆远程仓库到本地仓库
        • 1.创建一个GitHub远程仓库test1
        • 2.IDEA克隆仓库到本地
          • 1.复制远程仓库地址
          • 2.创建一个版本控制项目
          • 3.克隆到本地仓库
          • 4.克隆成功
    • 2.IDEA将本地项目push到远程仓库
        • 1.在这个项目下新建一个java模块
          • 1.新建模块
          • 2.填写模块名
          • 3.在src下创建一个java文件Hello
        • 2.将整个项目push到远程仓库
          • 1.将在工作区的项目add到暂存区
            • 1.右键父项目Add
            • 2.添加成功
            • 3.设置Add快捷键,选中文件夹之后直接使用快捷键
          • 2.将在暂存区的代码commit到本地仓库
            • 1.右键父项目Commit File
            • 2.填写提交时携带的信息
            • 3.查看提交状态
            • 4.设置Commit File的快捷键,选中文件夹之后直接使用快捷键
          • 3.将本地仓库的代码push到远程仓库
            • 1.右键main分支点击Push
            • 2.查看要Push的文件
            • 3.右下角显示Push成功
            • 4.push的快捷键是`ctrl + alt + shift + p`
          • 4.补充说明
            • 当文件在暂存区的时候是可以回滚到工作区快捷键是`ctrl + alt + shift + z`
          • 4.补充说明演示
            • 1.新建一个文件hi将其Add到暂存区
            • 2.选中输入ctrl + alt + shift + q进行commit
            • 3.在这个界面直接点击Commit and Push 直接push到远程仓库
            • 4.新建一个hello1文件并Add到暂存区
            • 5.在里面写一堆代码
            • 6.在暂存区可以rollback输入`ctrl + alt + shift + z`
    • 3.IDEA已克隆想要获取最新版本的远程仓库
        • pull到本地仓库快捷键是`ctrl + alt + shift + L`
    • 4.本地的IDEA项目交给Git管理
        • 1.IDEA新建一个普通maven项目
        • 2.GitHub新建一个远程仓库
        • 3.克隆这个远程仓库到本地任意一个文件夹(因为只是需要他的文件)
        • 4.直接把这个test2文件夹下的文件复制
        • 5.找到刚才创建的普通maven项目test3,粘贴到这里
        • 6.此时回到这个项目,右上角有Git标志了
    • 5.Git分支管理
        • 1.基本介绍
        • 2.搭建分支和合并的环境(使用Java普通项目搭建)
          • 1.创建一个Java普通项目
          • 2.创建一个新的GitHub远程仓库
          • 3.克隆到任意一个地方
          • 4.复制文件夹内容
          • 5.找到创建的Java项目的文件夹,将这些文件粘贴进去
          • 6.项目出现Git标志
          • 7.src下新建一个文件hello并Add到暂存区
          • 8.commit + push到远程仓库
        • 3.IDEA新建分支
          • 1.右键本地main分支选择 `New Branch`
          • 2.填写新分支名字
          • 3.新建分支成功
          • 4.细节说明
          • 5.将这个分支push到远程仓库
        • 4.IDEA切换分支工作
          • 1.选中分支,右键checkout
          • 2.在这个分支添加一个文件Hi并Add到暂存区
          • 3.Commit到本地分支
          • 4.push到远程仓库分支
        • 5.IDEA合并分支—无冲突
          • 1.由于刚才已经对这个分支添加了一个文件,所以可以直接无冲突合并分支
          • 2.合并本地分支
            • 1.切换工作分支到要合并到的分支
            • 2.右键被合并的分支 `Merge`
            • 3.没有冲突,合并成功
            • 4.将合并好的main分支push到远程仓库
        • 6.IDEA合并分支—有冲突
          • 1.切换到branch_for_main分支
          • 2.修改Hi文件的第13行
          • 3.commit
          • 4.切换到main分支
          • 5.也修改Hi文件的第13行
          • 6.commit
          • 7.合并分支,目前已经在main分支了,直接合并,出现冲突
          • 8.点击Merge查看冲突
          • 9.点击cancel
          • 10.再点击close,查看冲突的文件
          • 11.这里直接修改main分支的冲突文件作为最终版本
          • 12.add + commit 到本地仓库
          • 13.切换到branch_for_main分支查看Hi文件
          • 14.这次选择手动处理冲突的方式是将branch_for_main分支的这行代码删除,合并时使用main分支的版本
          • 15.add + commit到本地仓库
          • 16.再次合并分支并选择mian分支的版本
          • 17.push到远程仓库
        • 7.合并分支冲突小结
          • 1.产生冲突的原因
          • 2.解决方式
        • 8.IDEA删除分支
          • 1.只删除本地分支(可恢复)
            • 1.删除本地分支
            • 2.拉取远程仓库分支来恢复本地分支
            • 3.已恢复
          • 2.彻底删除分支
            • 1.删除本地分支
            • 2.删除远程仓库分支

IDEA + Git + GitHub

1.IDEA克隆远程仓库到本地仓库

1.创建一个GitHub远程仓库test1

image-20240308183732223

2.IDEA克隆仓库到本地
1.复制远程仓库地址

image-20240308184118552

2.创建一个版本控制项目

image-20240308184432485

3.克隆到本地仓库

image-20240308184328016

4.克隆成功

image-20240308184623985

2.IDEA将本地项目push到远程仓库

1.在这个项目下新建一个java模块
1.新建模块

image-20240308184829802

2.填写模块名

image-20240308184812570

3.在src下创建一个java文件Hello

image-20240308185119432

2.将整个项目push到远程仓库
1.将在工作区的项目add到暂存区
1.右键父项目Add

image-20240308185849714

2.添加成功

image-20240308185919467

3.设置Add快捷键,选中文件夹之后直接使用快捷键

image-20240308190320843

2.将在暂存区的代码commit到本地仓库
1.右键父项目Commit File

image-20240308191424369

2.填写提交时携带的信息

image-20240308191152216

3.查看提交状态

image-20240308191600461

4.设置Commit File的快捷键,选中文件夹之后直接使用快捷键

image-20240308190801638

3.将本地仓库的代码push到远程仓库
1.右键main分支点击Push

image-20240308191824673

2.查看要Push的文件

image-20240308191847005

3.右下角显示Push成功

image-20240308192039102

4.push的快捷键是ctrl + alt + shift + p

image-20240308210701789

4.补充说明
当文件在暂存区的时候是可以回滚到工作区快捷键是ctrl + alt + shift + z

image-20240308195555306

4.补充说明演示
1.新建一个文件hi将其Add到暂存区

image-20240308193707156

2.选中输入ctrl + alt + shift + q进行commit
3.在这个界面直接点击Commit and Push 直接push到远程仓库

image-20240308194824859

4.新建一个hello1文件并Add到暂存区

image-20240308195112004

5.在里面写一堆代码

image-20240308195334719

6.在暂存区可以rollback输入ctrl + alt + shift + z

image-20240308195659383

  • 这样在commit的时候就不会加上这个文件

image-20240308195842911

3.IDEA已克隆想要获取最新版本的远程仓库

pull到本地仓库快捷键是ctrl + alt + shift + L

image-20240308203929147

image-20240308204627802

4.本地的IDEA项目交给Git管理

1.IDEA新建一个普通maven项目

image-20240308205012735

2.GitHub新建一个远程仓库

image-20240308205349704

3.克隆这个远程仓库到本地任意一个文件夹(因为只是需要他的文件)

image-20240308205633142

4.直接把这个test2文件夹下的文件复制

image-20240308205715038

5.找到刚才创建的普通maven项目test3,粘贴到这里

image-20240308205738229

6.此时回到这个项目,右上角有Git标志了

image-20240308205824369

5.Git分支管理

1.基本介绍
  • Git分支即是对主分支的扩展,每次扩展并测试没问题后常常会合并Git分支
  • Git分支具有主分支的所有代码,但是修改Git分支不会对主分支有任何影响
  • 尽量避免Git分支去修改主分支已有的文件,否则在合并的时候会发生冲突
2.搭建分支和合并的环境(使用Java普通项目搭建)
1.创建一个Java普通项目

image-20240308211719937

2.创建一个新的GitHub远程仓库

image-20240308211838452

3.克隆到任意一个地方

image-20240308212000231

4.复制文件夹内容

image-20240308212039495

5.找到创建的Java项目的文件夹,将这些文件粘贴进去

image-20240308212313383

6.项目出现Git标志

image-20240308212408554

7.src下新建一个文件hello并Add到暂存区

image-20240308212514945

8.commit + push到远程仓库

image-20240308212855186

3.IDEA新建分支
1.右键本地main分支选择 New Branch

image-20240308212950937

2.填写新分支名字

image-20240308213049662

3.新建分支成功

image-20240308213125081

4.细节说明
  • 如果创建的是关于main的分支,则这个分支就包含了main的所有代码
  • 一般都是在分支上对main进行扩展然后再进行合并
5.将这个分支push到远程仓库

image-20240308214039641

4.IDEA切换分支工作
1.选中分支,右键checkout

image-20240308214447324

2.在这个分支添加一个文件Hi并Add到暂存区

image-20240308214551472

3.Commit到本地分支

image-20240308214736478

4.push到远程仓库分支

image-20240308215053674

5.IDEA合并分支—无冲突
1.由于刚才已经对这个分支添加了一个文件,所以可以直接无冲突合并分支
2.合并本地分支
1.切换工作分支到要合并到的分支

image-20240308215520932

2.右键被合并的分支 Merge

image-20240308215636442

3.没有冲突,合并成功

image-20240308215707779

4.将合并好的main分支push到远程仓库

image-20240308220716752

6.IDEA合并分支—有冲突
1.切换到branch_for_main分支

image-20240308221416361

2.修改Hi文件的第13行

image-20240308225622607

3.commit

image-20240308225700971

4.切换到main分支

image-20240308225758901

5.也修改Hi文件的第13行

image-20240308225837470

6.commit

image-20240308225917234

7.合并分支,目前已经在main分支了,直接合并,出现冲突

image-20240308230000840

8.点击Merge查看冲突
  • 这里可以直接选择保留谁的版本,不过这里先不选
  • 如果选择了就会将这个作为最终的版本来进行合并
  • 我们这次选择手动处理冲突

image-20240308230101800

9.点击cancel

image-20240308230216747

10.再点击close,查看冲突的文件
  • 此时的Hi已经不在main分支的本地仓库中了
  • 需要修改右边的方法来手动处理冲突

image-20240308230453502

11.这里直接修改main分支的冲突文件作为最终版本

image-20240308230655420

12.add + commit 到本地仓库

image-20240308231113444

13.切换到branch_for_main分支查看Hi文件

image-20240308231232216

14.这次选择手动处理冲突的方式是将branch_for_main分支的这行代码删除,合并时使用main分支的版本

image-20240308231356196

15.add + commit到本地仓库

image-20240308231443716

16.再次合并分支并选择mian分支的版本

image-20240308231734078

17.push到远程仓库
7.合并分支冲突小结
1.产生冲突的原因
  • 两个分支同时修改了同一个代码区域
2.解决方式
  1. 合并时选择一个分支的版本,然后再进行合并
  2. 合并时手动处理冲突
8.IDEA删除分支

注意:删除分支前要切换到另一个分支!

1.只删除本地分支(可恢复)
1.删除本地分支

image-20240308232105860

2.拉取远程仓库分支来恢复本地分支

image-20240308232147631

3.已恢复

image-20240308232206950

2.彻底删除分支
1.删除本地分支

image-20240308232343838

2.删除远程仓库分支

image-20240308232409592

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735862.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【CSP试题回顾】202006-1-线性分类器

CSP-202006-1-线性分类器 解题思路 线性分类问题,即根据给定的数据点和分类界限,判断是否存在一条线能够将属于不同类别的点完全分开。具体来说,数据点被分为两类,标记为A和B,我们要找出是否存在一个线性决策边界&…

js 保留小数点几位

涉及到计算时,可能存在小数点。 使用 toFixed()函数来保留小数点。 roFixed()方法把数值Number类型四舍五入为指定小数位数(0到20位)的数字 var num 1.4927 console.log(num.toFixed(0))//输出1 console.log(num.toFixed(1))//输出1.5 co…

gpt不能发送信息了?

文章目录 问题注意步骤解决后 问题 注意步骤 清理所有cookie和浏览数据,可保存密码 解决后

ETCD分布式缓存

一、ETCD简介 ETCD是一个高度可用的分布式键值存储系统,主要用于共享配置和服务发现。它基于Go语言实现,内部使用Raft一致性算法处理日志复制,保证多节点数据的强一致性。 ETCD的目标是构建一个高可用的分布式键值数据库,用于存…

linux循环之select

select结构是建立菜单的另一种工具,该结构是从ksh中引入的 1.select格式 select variable [ in list ] do commands done 如果忽略了in list列表,那么select命令将会使用传递到脚本的命令行参数($),或者是函数参数(当select是在函数中时…

Java开发理论知识记录

【JWT】 JWT是什么 JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案 例:jwt就相当于学校的出入证,只有持有出入证的人才能进行出入 为什么使用JWT JWT的精髓在于:“去中心化”,数据是保存在客户端的。…

C++的类与对象(五):赋值运算符重载与日期类的实现

目录 比较两个日期对象 运算符重载 赋值运算符重载 连续赋值 日期类的实现 Date.h文件 Date.cpp文件 Test.cpp文件 const成员 取地址及const取地址操作符重载 比较两个日期对象 问题描述:内置类型可直接用运算符比较,自定义类型的对象是多个…

虚拟 DOM:前端性能优化的秘密

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【大厂AI课学习笔记NO.72】AI与云计算

AI项目依靠云计算,借助云的力量,快速的启动业务,是比较好的一种选择。 AI模型训练过程中,出现算力突增,云计算成本低。 云平台提供一站式解决方案,创业公司的选择。 云端AI和边缘端的AI,是我们…

OpenCV filter2D函数详解

OpenCV filter2D函数简介 OpenCV filter2D将图像与内核进行卷积,将任意线性滤波器应用于图像。支持就地操作。当孔径部分位于图像之外时,该函数根据指定的边界模式插值异常像素值。 该函数实际上计算相关性,而不是卷积: filter…

MacOS、ubuntu安装libssh、libssh2

libssh安装 libssh官方下载链接 mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX/opt/libssh/ .. make -j6 sudo make installlibssh2安装 libssh2官方下载链接 ubuntu系统安装 ./configure --prefix/opt/libssh2 make -j6 sudo make installMacOS系统安装 首先安装op…

Day30:安全开发-JS应用NodeJS指南原型链污染Express框架功能实现审计

目录 环境搭建-NodeJS-解析安装&库安装 功能实现-NodeJS-数据库&文件&执行 安全问题-NodeJS-注入&RCE&原型链 案例分析-NodeJS-CTF题目&源码审计 开发指南-NodeJS-安全SecGuide项目 思维导图 JS知识点: 功能:登录验证&…

基于遗传算法GA的机器人栅格地图最短路径规划,可以自定义地图及起始点(提供MATLAB代码)

一、原理介绍 遗传算法是一种基于生物进化原理的优化算法,常用于求解复杂问题。在机器人栅格地图最短路径规划中,遗传算法可以用来寻找最优路径。 遗传算法的求解过程包括以下几个步骤: 1. 初始化种群:随机生成一组初始解&…

分布式执行引擎ray入门--(2)Ray Data

目录 一、overview 基础代码 核心API: 二、核心概念 2.1 加载数据 从S3上读 从本地读: 其他读取方式 读取分布式数据(spark) 从ML libraries 库中读取(不支持并行读取) 从sql中读取 2.2 变换数据…

Pandas DataFrame 写入 Excel 的三种场景及方法

一、引言 本文主要介绍如何将 pandas 的 DataFrame 数据写入 Excel 文件中,涉及三个不同的应用场景: 单个工作表写入:将单个 DataFrame 写入 Excel 表中;多个工作表写入:将多个 DataFrame 写入到同一个 Excel 表中的…

Spring boot2.7整合jetcache 本地linkedhashmap缓存方案

好 上文 Spring boot2.7整合jetcache 远程redis缓存方案 我们讲完了 远程实现方案 本文 我们来说说 本地 jetcache解决方案 首先是 application.yml 在jetcache下加上 local:default:type: linkedhashmapkeyConvertor: fastjson我们技术用的 本地缓存 linkedhashmap 这里 我们…

关于安卓子模块打包,aar,jar丢失问题

背景 项目中,三方依赖是一个本地子module,子module中,又引入了一些aar,jar包。这个时候,如果子module要输入一个aar包给业务侧调用,观察打包结果。 问题 如果直接使用gradle进行打包,会导致子…

【大厂AI课学习笔记NO.69】使用开源管理仓库

了解了开源框架,开源项目,今天来学习开源管理仓库。 我们先说Git,开源的版本管理分布式系统。 GitHub,则是世界上最大的代码托管平台,面向开源和私有项目托管。 有的人总是分不清这两个,其实一个是版本管…

批量提取PDF指定区域内容到 Excel 以及根据PDF里面第一页的标题来批量重命名-附思路和代码实现

首先说明下,PDF需要是电子版本的,不能是图片或者无法选中的那种。 需求1:假如我有一批数量比较多的同样格式的PDF电子文档,需要把特定多个区域的数字或者文字提取出来 需求2:我有一批PDF文档,但是文件的名…

创建旅游景点图数据库Neo4J技术验证

文章目录 创建旅游景点图数据库Neo4J技术验证写在前面基础数据建库python3源代码KG效果KG入库效率优化方案PostGreSQL建库 创建旅游景点图数据库Neo4J技术验证 写在前面 本章主要实践内容: (1)neo4j知识图谱库建库。使用导航poi中的公园、景…