Intellij Idea + Git 完美实战!

news2024/11/15 13:25:52

环境准备

  • 使用前需要安装一个远程的 Git 仓库和本地的 Git 客户端。
  • 由于IDEA中的Git插件需要依赖本地Git客户端,所以需要进行如下配置:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


如果本地已有项目,直接通过如下操作,即可在远程自动创建仓库并关联

在这里插入图片描述

1. 克隆远程仓库代码(适用于本地无代码,从远程仓库 pull 下来)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意: 克隆后的文件位置给出的文件如果不存在会自动创建,如果存在,需要为空

在这里插入图片描述

在这里插入图片描述

克隆成功
在这里插入图片描述

2. 初始化 git 仓库(一个新的项目,从 0 开始)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 提交(commit) 拉取(pull) 推送(push) 代码

有多种方式可以进行操作,文章中只列举一种

  • 多人合作分支:commit → \to pull → \to push,防止代码丢失
  • 单人分支:commit and push,后续弹窗中进行push选择

commit(将所有文件添加到暂存区中)

项目名右击 → \to Git → \to Commit Directory…
在这里插入图片描述

或者直接点击小图标
在这里插入图片描述

在这里插入图片描述

界面底下,这里可以看到当前情况
在这里插入图片描述

4. push(将代码推送到远程仓库)

点击 push 按钮推送代码:
在这里插入图片描述

或者直接点击小标图
在这里插入图片描述

确认推送内容:

在这里插入图片描述

查看远程仓库发现已经提交完成:
在这里插入图片描述

5. pull(从远程仓库拉取代码)

在远程仓库添加一个TestPull.md文件:

在这里插入图片描述

从远程仓库拉取代码:
在这里插入图片描述

确认拉取分支信息:
在这里插入图片描述

在这里插入图片描述

6. 从本地创建分支并推送到远程

在本地创建lqh分支,点击右下角的Git:master按钮:
在这里插入图片描述
在这里插入图片描述

使用push将本地lqh分支推送到远程:
在这里插入图片描述

查看远程仓库发现已经创建了lqh分支:
在这里插入图片描述

7. 删除分支

删除分支后,需要 push 到远程仓库
在这里插入图片描述

8. 分支切换

从 lqh 分支切换回 master 分支:
在这里插入图片描述

9. Git文件冲突问题解决

修改远程仓库代码:

在这里插入图片描述

修改本地仓库代码:
在这里插入图片描述

提交本地仓库代码并拉取,发现代码产生冲突,点击Merge进行合并:
在这里插入图片描述

点击箭头将左右两侧代码合并到中间区域:
在这里插入图片描述

冲突合并完成后,点击Apply生效:
在这里插入图片描述

提交代码并推送到远程。

10. 合代码(不同分支合代码)

  • 描述: 有分支 master,分支 lqh,现计划将分支 lqh 的部分代码合到分支 master 上
    lqh 与 master 分支相同文件的差异如下(这里仅演示方便,差异不在代码而在 README.md ,代码同)

master 分支
在这里插入图片描述
lqh分支
在这里插入图片描述

  • 切换本地分支为目标分支 master,即将代码合到此分支上
  • 切换前先进行 fetch 操作,保证分支完备
    在这里插入图片描述
    在这里插入图片描述

切换为目标分支之后,对此分支进行pull操作,保证当前代码版本为最新
在这里插入图片描述
在这里插入图片描述

项目名称上右击 → \to Git → \to Compare with branch…
在这里插入图片描述

选择需要合并到 master 的分支 lqh
在这里插入图片描述

最右边 changes 会展现两个分支之间的差异
在这里插入图片描述

蓝色文件:两个分支都有,但有一部分做了修改
绿色文件:分支 lqh 有,而分支 master 没有
灰色文件:分支 master 有,而分支 lqh 没有

若要合并灰色文件和绿色文件,建议:

  • 先跳转到存在此文件的分支,复制备份要合并的灰色或绿色文件,
  • 在切换回要合并的目标分支上,将复制好的文件粘贴到对应分支的对应包下

以下步骤为合并蓝色文件的操作

在这里插入图片描述
在这里插入图片描述

左侧为分支 lqh,右侧为分支 master,点击箭头可将分支 lqh 对当前文件的修改应用到分支 master

修改之后可看到,此文件已有蓝色标识和修改记号
在这里插入图片描述

将需要修改的文件修改完毕后可将代码推送到远程分支B

操作顺序:commit 修改内容 → \to pull 再次拉取代码,保证代码最新 → \to push修改内容到远程分支

对单独一个文件进行代码合并操作

  • 在当前项目文件右击 -> Git -> compare with… 和本分支的历史版本做对比
  • 在当前项目文件右击 -> Git -> compare with the Same Repository Version 和当前版本做对比(即和修改之前的做对比)
  • 在当前项目文件右击 -> Git -> compare with Branch 和其他分支版本做对比

References

Intellij Idea + Git入门到上手操作,完美实战!

idea集成git详解教程(实用篇)

IDEA 使用Git图文详解(学好idea操作git大全)

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

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

相关文章

halcon4

图像采集助手-Image Aequisition 1.配置相机IP 和巨型帧等 2.通过海康MVS软件 找到 对应halcon 版本 3. 找到对应halcon版本的 海康相机文件 4.找到Halocn文件目录 粘贴上图文件 通过halcon 助手 -Image Aequisition -自动检测 -找到MVision接口 连接相机 采集图像 实时…

一句话概括TMMi的每个PA

TMMi(Test Maturity Model Integration,测试成熟度模型集成)是一个由TMMi基金会开发的非商业化的测试成熟度模型,是对CMMI模型的一个补充。它可以帮助组织使测试过程从未管理的状态进化为已管理、已定义、已测量和优化的状态。 T…

网站建设完成后,视频类网站如何做seo

视频类网站的SEO优化是一个综合性的工作,涉及从内容优化、技术优化到外部链接建设等多个方面。由于视频类网站主要提供的是视频内容,其SEO优化不仅需要关注常规的网页优化技巧,还需要考虑视频特有的元素和用户行为模式。以下是针对视频类网站…

Xilinx高速接口之GTP

简介 开坑计划中,主要参考ug482 主要讲解结构以及原语 以及时钟路由和一些其他的 GTP_COMMON还好,需要设置的不多,原语也短, GTP_CHANNEL需要设置的东西真多,原语也长 还好有官方参考例程以及自动生成的原语例化 不然…

0基础学习Python路径(31)logging模块

Python logging 模块定义了为应用程序和库实现灵活的事件日志记录的函数和类。 程序开发过程中,很多程序都有记录日志的需求,并且日志包含的信息有正常的程序访问日志还可能有错误、警告等信息输出,Python 的 logging 模块提供了标准的日志接…

OpenCV绘图函数(4)绘制轮廓线的函数drawContours()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 函数会在图像中绘制轮廓线&#xff0c;如果 thickness ≥ 0&#xff0c;则绘制轮廓线&#xff1b;如果 thickness < 0&#xff0c;则填充由轮…

【JLINK】RTT Viewer 的使用

​​​​​​ 一、使用说明 1.1 查找 RTT 缓冲区的开始位置 echo off if exist .\Debug\%PRJ_NAME%.map (findstr /C:" _SEGGER_RTT" .\Debug\%PRJ_NAME%.map rem findstr /C:" __StackTop " .\Debug\%PRJ_NAME%.map rem findstr /C:" Reset_Handle…

从欧拉公式的美到旋转位置编码RoPE

也许你在某些场合听说过欧拉公式&#xff0c;也许你干脆对数学不感冒。机缘巧合下&#xff0c;你点开了这篇文章&#xff0c;大致浏览了下然后关闭&#xff0c;继续为自己的工作学习忙碌。这不妨碍你暂停忙碌的脚步&#xff0c;欣赏她的美。 若干年后&#xff0c;你应该不曾记得…

Java基础(2)- Java环境

目录 一、jvm和跨平台 二、JDK 和 JRE 三、JDK的下载和安装 四、配置环境变量 一、jvm和跨平台 1.jvm&#xff08;Java虚拟机&#xff09;类似于翻译官&#xff1a;java运行程序的假想计算机&#xff0c;主要运行java程序。 2.跨平台&#xff1a;指不同操作系统。 3.关系…

网上买大流量卡要问哪些问题?几个常见的问与答!

大家都比较关注的几个常见的流量卡问题&#xff0c;答案来喽&#xff01; 这几个问题特别适合刚刚接触流量卡的朋友&#xff0c;如果你在购买流量卡时不知道该了解什么&#xff0c;该向商家问什么的时候&#xff0c;不妨问问这几个问题吧&#xff0c;接下来&#xff0c;这篇文…

python 实现square root平方根算法

square root平方根算法介绍 计算平方根&#xff08;Square Root&#xff09;的算法有多种&#xff0c;这里介绍几种常见的方法&#xff1a; 牛顿迭代法&#xff08;Newton’s Method&#xff09; 牛顿迭代法是一种在实数域和复数域上近似求解方程的方法。对于平方根问题&…

home kit认证

在当今快节奏的生活中&#xff0c;智能家居技术正不断改变我们的居住体验。home kit 将这一领域提升到了全新的高度。它不仅让智能家居设备的管理变得更为简单直观&#xff0c;还通过高水平的安全性和互操作性&#xff0c;为用户提供了无缝的体验。 一、什么是home kit home k…

CentOS7将yum源更换为国内源保姆级教程

在 CentOS 7 系统中更改 YUM 源到国内源可以显著提高软件包的下载速度&#xff0c;因为国内源服务器通常距离中国大陆用户更近。以下是一个详细的步骤来完成这一操作&#xff1a; 步骤 1: 备份原有配置 首先&#xff0c;备份原系统中的 yum 配置文件以防万一&#xff1a; BA…

红黑树模拟实现STL中的map与set——C++

1.红黑树的迭代器 &#xff08;本篇代码基于我写的红黑树的实现这篇博客&#xff09; 迭代器的好处是可以方便遍历&#xff0c;是数据结构的底层实现与用户透明。如果想要给红黑树增加迭代器&#xff0c;需要考虑以下问题&#xff1a; begin()与end()&#xff1a; STL明确规定&…

无人机侦测:光电识别追踪设备(双光)技术详解

无人机侦测中的光电识别追踪设备&#xff08;双光&#xff09;技术&#xff0c;是一种高效且精准的目标识别与追踪手段&#xff0c;特别适用于无人机平台。以下是对该技术的详细解析&#xff1a; 一、技术概述 光电识别追踪设备&#xff08;双光&#xff09;结合了可见光和红…

企业微信iPad协议:自定义接入需求,为行业提供新助力

在当今数字化时代&#xff0c;企业如何有效连接客户、提升营销效率成为了一个重要议题。iPad协议&#xff0c;或称企业微信协议&#xff0c;作为基于微信iPad协议的智能接口服务&#xff0c;优势及其在企业营销中的应用。 什么是iPad协议&#xff1f; iPad协议是一种智能控制…

<数据集>塑料瓶识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;3331张 标注数量(xml文件个数)&#xff1a;3331 标注数量(txt文件个数)&#xff1a;3331 标注类别数&#xff1a;1 标注类别名称&#xff1a;[bottle] 使用标注工具&#xff1a;labelImg 标注规则&#xff1a;对…

Swift concurrency 2 — async await的理解与使用

async / await 将函数标记为async会告诉Swift编译器该函数是异步执行的&#xff0c;是可以挂起的。await关键字标记了这些挂起点。当一个函数在await调用时被挂起时&#xff0c;它所执行的线程可以用来执行其他工作。当等待的工作完成时&#xff0c;运行时可以恢复函数的执行。…

网络实用工具

ping 测试与目标主机的连通性 显示解释www.a.shifen.com (14.215.177.39)ping目标主机的域名和IP&#xff08;ping会自动将域名转换为IP&#xff09;56(84)不带包头的包大小和带包头的包大小icmp_seq1ping序列,从1开始如果数字不是顺序递增即有丢包ttl54数据包剩余生存时间, 默…

Python | Leetcode Python题解之第378题有序矩阵中第K小的元素

题目&#xff1a; 题解&#xff1a; class Solution:def kthSmallest(self, matrix: List[List[int]], k: int) -> int:n len(matrix)def check(mid):i, j n - 1, 0num 0while i > 0 and j < n:if matrix[i][j] < mid:num i 1j 1else:i - 1return num > …