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

news2024/9/28 11:20:58

文章目录

  • 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.coloradmin.cn/o/1506814.html

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

相关文章

【机器学习】一文掌握逻辑回归全部核心点(上)。

逻辑回归核心点-上 1、引言2、逻辑回归核心点2.1 定义与目的2.2 模型原理2.2.1 定义解析2.2.2 公式2.2.3 代码示例 2.3 损失函数与优化2.3.1 定义解析2.3.2 公式2.3.3 代码示例 2.4 正则化2.4.1 分类2.4.2 L1正则化2.4.3 L2正则化2.4.4 代码示例 3、总结 1、引言 小屌丝&#…

UE4开个头-简易小汽车

跟着谌嘉诚学的小Demo,记录一下 主要涉及到小白人上下车和镜头切换操作 1、动态演示效果 2、静态展示图片 3、蓝图-上下车

HTTP/2的三大改进:头部压缩、多路复用和服务器推送

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

01-分析同步通讯/异步通讯的特点及其应用

同步通讯/异步通讯 微服务间通讯有同步和异步两种方式 同步通讯: 类似打电话场景需要实时响应(时效性强可以立即得到结果方便使用),而且通话期间不能响应其他的电话(不支持多线操作)异步通讯: 类似发邮件场景不需要马上回复并且可以多线操作(适合高并发场景)但是时效性弱响应…

3D Object Detection for Autonomous Driving: A Comprehensive Survey文献阅读

目录 简言 文献地址: 重要网址(该项目持续更新中) 摘要 1、介绍 2、基础概念 2.1 3D object detection 2.2 Datasets 2.3 Evaluation metrics 2.3.1 评估指标类-1 2.3.2 评估指标类-2 2.3.3 评估指标对比 3、基于Lidar的…

vue实现购物车功能

实现功能 CSS部分 <style>.tr {display: flex;}.th {margin: 10px;width: 20%;height: 50%;}.td {display: flex;margin: 10px;width: 20%;height: 100px;align-items: center;}.app-container .banner-box {border-radius: 20px;overflow: hidden;margin-bottom: 10px;}…

图论(三)之最小生成树(kurskal/Prim)

Minimum Spanning Tree 两大算法&#xff1a;Kruskal 与 Prim 树的含义&#xff1a; 结构中不能形成环 必须连接图结构中的全部顶带&#xff0c;任意两个顶点都是互通的 不同的生成树有不同的权值和&#xff0c;而最小生成树即为最小的那个树 如何构造最小生成树 **目标&…

OB_GINS学习

OB_GINS学习 组合导航中的杆臂测量加速度计的零偏单位转换受到经纬度以及高程影响的正常重力位的计算公式大地坐标系&#xff08;LBH&#xff09;向空间直角坐标系&#xff08;XYZ&#xff09;的转换及其逆转换导航坐标系&#xff08;n系&#xff09;到地心地固坐标系&#xff…

Error while Deploying HAP

第一个程序就遇到这么恶心的bug&#xff0c;也查了很多类似的问题是什么情况&#xff0c;后来无意中菜解决了这个bug&#xff0c;确实也是devicps下面加一个参数&#xff0c;但是找了半天 这是我遇到这个问题的解决办法。其他解决办法如下&#xff1a; https://blog.51cto.com…

STM32中断和外部中断

NVIC&#xff1a;嵌套中断向量控制器&#xff1a;用于统一分配中断优先级和管理中断 响应式优先级&#xff1a;也可以称为插队式优先级哪个优先级高优先处理哪个 抢占式优先级&#xff1a;优先级高的可以优先被处理&#xff0c;相当于CPU可以暂时中断当前处理的程序&#xff0c…

【实验报告】C语言实现猜单词的小游戏

之前帮别人写的一个简单的报告&#xff0c;无偿分享给大家~代码在后面&#xff0c;有一些图片出于懒惰没有上传。比较简单&#xff0c;喜欢的话关注我~&#xff0c;请勿商用~ 1 系统功能模块结构图 该程序主要思路&#xff1a; 头文件设计&#xff0c;存储结构设计&#xff0…

深度学习预备知识(线性代数)

介绍&#xff1a; 深度学习是一种机器学习的方法&#xff0c;涉及到大量的线性代数运算。线性代数是研究向量空间和线性映射的数学学科。在深度学习中&#xff0c;线性代数常用于表示和处理输入数据和模型参数。下面是一些深度学习中常见的线性代数概念和运算&#xff1a; 1. …

Java学习笔记之IDEA的安装与下载以及相关配置

1 IDEA概述 ​IDEA全称IntelliJ IDEA&#xff0c;是用于Java语言开发的集成环境&#xff0c;它是业界公认的目前用于Java程序开发最好的工具。 集成环境&#xff1a; ​把代码编写&#xff0c;编译&#xff0c;执行&#xff0c;调试等多种功能综合到一起的开发工具。 2 IDEA…

新IDEA电脑环境设置

1.设置UTF-8 2.Maven 3.JRE选对

three.js 包围盒

效果&#xff1a; 想要显示包围盒的样子&#xff1b;需要借助 Box3Helper 辅助显示&#xff1b; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs"></div></div><…

【大厂AI课学习笔记NO.68】开源和开源发展情况

开源即源代码公开&#xff0c;任何人能获取源代码&#xff0c;查看、修改、分发他们认为合适的代码。 依托同行评审和社区生成&#xff0c;旨在以分散、协作的方式开发。 我们曾经很详细的讨论过开源协议的问题&#xff0c;详细可以参考我的文章&#xff1a; https://giszz.…

块设备驱动(1)-什么是块设备驱动?块设备驱动概念总结

1.块设备驱动概念 块设备驱动是针对存储设备&#xff0c;例如SD卡、EMMC、NAND FLASH、NOR FLSASH。 块设备驱动以块为单位进行访问、最小寻址单位是扇区、一个块中包含多个扇区、支持随机访问、带缓冲区&#xff0c;&#xff0c;当发生写入操作时&#xff0c;并不会立马操作硬…

P1948 [USACO08JAN] Telephone Lines S

Here 典中之典&#xff01;&#xff01; 解题思路 可选k条边代价为0如何决策&#xff1f; 将到当前位置选择了几条代价为0的边放入状态&#xff0c;即若当前状态选的边数小于&#xff0c;则可以进行决策&#xff0c;是否选择当前边&#xff0c;若选&#xff0c;则&#xff0c…

[2024-03-09 19:55:01] [42000][1067] Invalid default value for ‘create_time‘【报错】

这个错误可能是因为你的 MySQL 数据库版本不支持 CURRENT_TIMESTAMP 作为默认值。在一些早期版本中&#xff0c;MySQL 对 TIMESTAMP 类型字段的默认值设置有限制&#xff0c;只允许使用特定的常量值&#xff08;如 0000-00-00 00:00:00 或 CURRENT_TIMESTAMP()&#xff09;。如…

选修-单片机作业第1/2次

第一次作业 第二次作业 1、51 系列单片机片内由哪几个部分组成&#xff1f;各个部件的最主要功能是什么&#xff1f; 51系列单片机的内部主要由以下几个部分组成&#xff0c;每个部件的主要功能如下&#xff1a; 1. **中央处理器&#xff08;CPU&#xff09;**&#xff1a;这是…