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,我们要找出是否存在一个线性决策边界&…

gpt不能发送信息了?

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

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…

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 这里 我们…

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

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

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

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

【C语言】——详解操作符(下)

【C语言】——详解操作符(下) 前言七、关系操作符八、逻辑操作符8.1、& 与运算符8.2、 | 或运算符 九、条件操作符十、逗号表达式十一、下标引用与函数调用操作符11.1、[ ] 下标引用操作符11.2、( ) 函数调用操作符 十二、 结构成员操作符12.1、…

新版ui周易测算网站H5源码/在线起名网站源码/运势测算网站系统源码,附带系统搭建教程

支持对接第三方支付 安装方法以linux为例 1、建议在服务器上面安装宝塔面板,以便操作,高逼格技术员可以忽略这步操作。 2、把安装包文件解压到根目录,同时建立数据库,把数据文件导入数据库 3、修改核心文件config/inc_config.…

“ReferenceError: AMap is not defined“

问题 笔者进行web开发&#xff0c;引入高德地图&#xff0c;控制台报错 "ReferenceError: AMap is not defined"详细问题 vue.runtime.esm.js:4662 [Vue warn]: Error in mounted hook: "ReferenceError: AMap is not defined"found in---> <Map&…

React-嵌套路由

1.概念 说明&#xff1a;在一级路由中又内嵌了其他路由&#xff0c;这种关系就叫做嵌套路由&#xff0c;嵌套至一级路由内的路由又称作二级路由。 2.实现步骤 说明&#xff1a;使用childen属性配置路由嵌套关系&#xff0c;使用<Outlet/>组件配置二级路由渲染的位置。…

吴恩达机器学习-可选实验室:逻辑回归,决策边界(Logistic Regression,Decision Boundary))

文章目录 目标数据集图数据逻辑回归模型复习逻辑回归和决策边界绘图决策边界恭喜 目标 在本实验中&#xff0c;你将:绘制逻辑回归模型的决策边界。这会让你更好地理解模型的预测。 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from lab_utils_co…

Redis核心数据结构之整数集合

整数集合 概述 整数集合(intset)是集合键的底层实现之一&#xff0c;当一个集合只包含整数值元素&#xff0c;并且这个结合的元素数量不多时&#xff0c;Redis就会使用整数集合作为集合键的底层实现。 例子 举个例子&#xff0c;如果创建一个只包含五个元素的集合键&#x…

MySQL 8.0 架构 之 慢查询日志(Slow query log)(2)流程图:查询记录到慢查询日志中的条件

文章目录 MySQL 8.0 架构 之 慢查询日志&#xff08;Slow query log&#xff09;&#xff08;2&#xff09;流程图&#xff1a;查询记录到慢查询日志中的条件确定查询是否会记录在慢查询日志中的流程图参考 【声明】文章仅供学习交流&#xff0c;观点代表个人&#xff0c;与任何…