IDEA集成Git

一、配置Git忽略文件

例如:用eclipse创建的项目有其特定的文件,例如:.classpath,.project文件,而用IDEA创建的项目也有其特定的文件:.xml,.iml,.target,我们需要最好忽略他们。

为什么要忽略他们?

与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。所以如果我们忽略掉,好处就是1.减少上传量;2.如果该项目是eclipse创建的,则存在eclipse的特定文件,而如果我们使用IDEA运行这些特定文件可能会干扰到运行。坏处就是我们直接用eclipse运行,但是忽略后少了这些配置文件,也运行不起来

忽略操作

1)创建忽略规则文件 xxxx.ignore(前缀名随便起,建议是 git.ignore)

这个文件的存放位置原则上在哪里都可以,为了便于让.gitconfig 文件引用,建议也放在用

户家目录C:\Users\ASUS下。

git.ignore 文件模版内容如下:

# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see 
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml

2)在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)

[user]
name = Layne
email = Layne@atguigu.com
[core]
excludesfile = C:/Users/asus/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)

二、IDEA操作本地库

定位Git程序

我的安装目录为:D:\ProgramSofts\Git\bin\git.exe,版本为2.33.1
在这里插入图片描述

初始化本地库

在这里插入图片描述

选择要创建 Git 本地仓库的工程

在这里插入图片描述

点击OK后,gitTest项目就初始化为本地库了,在IDEA下项目的所有文件名都是红色的,这表示文件都在工作区中,尚未被追踪(加入暂存区)

添加到暂存区

右键点击项目(可以以项目为单位进行选择或者以文件为单位)选择 Git -> Add 将项目添加到暂存区。
方式一:以项目为单位
在这里插入图片描述
方式二:以未提交到暂存区的文件为单位
在这里插入图片描述

Add后项目下所有的文件名都为绿色,这表示添加到暂存区了。

提交到本地库

方式一:以项目为单位
在这里插入图片描述
方式二:以未提交到本地库的文件为单位
在这里插入图片描述
提交信息,同时取消勾选代码分析

在这里插入图片描述

提交完成后项目下的文件名又变为黑色。

切换版本

每当对一个文件进行修改后,右键项目或该文件选择Git->commit file/directory都视为提交一个新的版本。

在 IDEA 的左下角,点击 Version Control,然后点击 Log 查看版本
在这里插入图片描述

选中某个版本后右键选择要切换的版本,然后在菜单里点击 Checkout Revision。

在这里插入图片描述

切换分支

直接使用切换版本不就好了吗?

两者的处理场景并不一样,版本切换是一个项目已经开发完毕了,提交产生的一个新的版本,如果我们不满意这个版本,我们可以切换到上一个版本去。分支切换是项目在开发过程中,一个项目需要进行功能扩展,分支类似将此时的项目进行拷贝,将副本给开发人员进行开发,开发好后合并到主线上去,合并的主线分支又是一个新的版本。N个人之所以可以同时进行功能扩充,是因为分支的存在,N个人进行功能扩充,就存在N条分支,每次开发完成进行提交就产生一个新的版本,开发完毕就存在N个新版本。所以最主要的区别是分支可以对同一版本的项目进行功能扩展,每个人将自己需要实现的接口开发好后,负责人可以合并他们的代码形成一个新的版本,但是如果只使用版本是无法合并代码的。(其实不用纠结,好好理解分支的优势就明白为什么存在分支切换了。)

创建分支

1)直接点击IDEA右下角Git->New Branch(或者是一个➕号)

在这里插入图片描述

2)或者在项目或者某个文件选择Git,在 Repository 里面,点击 Branches 按钮,在弹出的 Git Branches 框里,点击 New Branch 按钮。
在这里插入图片描述

填写分支名称,创建 hot-fix 分支。
在这里插入图片描述

然后再 IDEA 的右下角看到 hot-fix,说明分支创建成功,并且当前已经切换成 hot-fix 分支
在这里插入图片描述

切换分支

在 IDEA 窗口的右下角,切换到 master 分支。
在这里插入图片描述

然后在 IDEA 窗口的右下角看到了 master,说明 master 分支切换成功。

在这里插入图片描述

合并分支

在 IDEA 窗口的右下角,将 hot-fix 分支合并到当前 master 分支。

在这里插入图片描述

如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库。

解决冲突

如果 master 分支和 hot-fix 分支都修改了同一处代码,在合并分支的时候就会发生冲突。

(1)点击 Conflicts 框里的 Merge 按钮,进行手动合并代码。

在这里插入图片描述

(2)手动合并完代码以后,点击右下角的 Apply 按钮。

在这里插入图片描述

(3)代码冲突解决,自动提交本地库。

三、 IDEA集成GitHub

设置GitHub账号

一、在idea中setting中搜索GitHub,填好用户名和token,注意用token登录,现在不支持用户名和密码登录了。
在这里插入图片描述
二、这个token要从GitHub上获取

  1. GitHub登录后在最右边点击头像找到setting:
    在这里插入图片描述

  2. 进入setting后在最下面左边可以看到:Devleoper settings
    在这里插入图片描述

  3. 生成token:找到tokens (classic)
    在这里插入图片描述
    下拉选择generate new token (classic)
    在这里插入图片描述

  4. 填入token对应信息,勾选必要权限:repo + gist + delete_repo

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5. 复制生成的token
在这里插入图片描述
三、在idea中填入复制的token
在这里插入图片描述
在这里插入图片描述

分享工程到GitHub

分享操作包括:1.新建远程库;2.推送当前分支内容到远程库

实际工作中,每完成一个小功能,就提交一次,写清楚注释,下班前,代码全部push到远程仓库,前提是代码不要报错

在这里插入图片描述
Repository name:远程仓库名

Remote:远程仓库别名

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

push推送本地库到远程库

push前先pull.

右键点击项目,可以将当前分支的内容 push 到 GitHub 的远程库中或者点击VCS下的Git

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

注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!所以push前先pull.

pull拉取远程库到本地库

右键点击项目,可以将远程仓库的内容 pull 到本地仓库。

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

注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

clone克隆远程库到本地

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

为 clone 下来的项目创建一个工程,然后点击 Next。

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

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

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

相关文章

从Github登录的双因子验证到基于时间戳的一次性密码:2FA、OTP与TOTP

Github于2023-03-09推出一项提高软件安全标准的措施,所有在Github上贡献过代码的开发人员在年底前必须完成 2FA(Two-factory authentication,双因子认证)。初听此事之时,不以为意,因为自己之前就知道双因子…

C++之常用的排序算法

C之常用的排序算法 sort #include<iostream> using namespace std; #include<vector> #include<algorithm> #include<functional> void Myptint(int val) {cout << val << " "; }void test() {vector<int> v;v.push_back(…

打破应用孤岛,低代码平台效力几何?

关于低代码开发平台&#xff0c;争论有很多。有人认为它是第四代编程语言&#xff0c;有人认为它是开发模式的颠覆&#xff0c;有人认为它是企业管理模式的变革&#xff0c;也有人认为它空有其表。 不过&#xff0c;至少在目前看来&#xff0c;低代码无疑是火爆的&#xff0c;…

整理MLAI学习路径图

干货分享&#xff1a; 下面给出一个笔者自己整理的GitHub仓库&#xff1a;https://github.com/isLinXu/awesome-road-map&#xff0c;里面包含了一些可供参考的学习路径和思维导图&#xff0c;并整理微软、meta、谷歌、Kaggle以及华为、百度、阿里、腾讯、讯飞等相关的学习资源…

一文搞懂什么是 GNU/Linux 操作系统

Author&#xff1a;rab 目录 前言一、UNIX二、Linux三、GNU 前言 你是否经常看见或听说过这么一句话&#xff1a;这是一个类 Unix 的 GNU/Linux 操作系统&#xff0c;你是怎么理解这句话的呢&#xff1f;想要搞懂这句话的含义&#xff0c;你需要了解以下三点基本常识。 一、U…

linux ld 链接器学习笔记

ld链接器笔记 1. 首先编写一段汇编代码 这里的汇编语法时 AT&T语法,是gcc原生支持的语法,底层使用 gas(gnu assembler) 完成汇编,相较于 Intel x86语法, AT&T 语法要更加古老,因此大多数人更加偏向于使用 Intel 的语法. nasm 编译器支持x86语法.自从2.10版本&#xf…

MySQL 事务的底层原理和 MVCC(二)

7.2. undo 日志 7.2.1. 事务回滚的需求 我们说过事务需要保证原子性&#xff0c;也就是事务中的操作要么全部完成&#xff0c;要么什么也不做。但是偏偏有时候事务执行到一半会出现一些情况&#xff0c;比如&#xff1a; 情况一&#xff1a;事务执行过程中可能遇到各种错误&a…

ORB-SLAM3在windows11下的编译使用

01 写在前面 近期在学习SLAM&#xff0c;想部署一下ORB-SLAM3&#xff0c;但是自己电脑是win11系统&#xff0c;因此就想着在win11上部署一下。但是网上看了一些教程&#xff0c;有一些博客&#xff0c;但是可能不适合我这种情况把&#xff0c;就很纠结。先说下结果&#xff0…

【python基础(三)】操作列表:for循环、正确缩进、切片的使用、元组

文章目录 一. 遍历整个列表1. 在for循环中执行更多操作2. 在for循环结束后执行一些操作 二. 避免缩进错误三. 创建数值列表1. 使用函数range()2. 使用range()创建数字列表3. 指定步长。4. 对数字列表执行简单的统计计算5. 列表解析 五. 使用列表的一部分-切片1. 切片2. 遍历切片…

【并发编程】ThreadLocal详解与原理

&#x1f4eb;作者简介&#xff1a;小明Java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

【电路笔记】-电流源

电流源 文章目录 电流源1、概述1.1 理想电流源1.2 实际电流源1.3 连接规则 2、依赖电流2.1 压控电流源2.2 电流控制电流源 3、总结 本文为前面文章 电压源的延续&#xff0c;我们将在本文介绍电流源。 与电压源的情况类似&#xff0c;我们将首先介绍理想电流源的概念&#xff…

MySQL 8.2 Command Line Client打开时一闪而过闪退问题

MySQL8.2安装成功后&#xff0c;发现打开MySQL 8.0 Command Line Client时出现一闪而过&#xff0c;打不开的情况。 解决方案&#xff1a; 1、打开MySQL 8.2 Command Line Client文件位置 2、右键选择属性 3、复制它的目标 4、我复制下来的目标路径是这样的&#xff0c;"…

关于 Docker

关于 Docker 1. 术语Docker Enginedockerd&#xff08;Docker daemon&#xff09;containerdOCI (Open Container Initiative)runcDocker shimCRI (Container Runtime Interface)CRI-O 2. 容器启动过程在 Linux 中的实现daemon 的作用 Docker 是个划时代的开源项目&#xff0c;…

[计算机网络实验]头歌 实验二 以太网帧、IP报文分析(含部分分析)

目录 第1关&#xff1a;Wireshark基本使用入门 【实验目的】 【实验环境】 【本地主机、平台虚拟机之间数据传递】 wireshark基本用法】 1、wireshark主界面 2、抓取分组操作 3、Wireshark窗口功能 4、筛选分组操作 【实验操作】 ​编辑 第2关&#xff1a;Ethernet帧…

基于Towers of Binary Fields的succinct arguments

1. 引言 Ulvetanna团队Benjamin E. Diamond和Jim Posen 2023年论文《Succinct Arguments over Towers of Binary Fields》&#xff0c;开源代码见&#xff1a; https://github.com/recmo/binius&#xff08;Rust Sage&#xff09;【基于plonky3等库】 在该论文中&#xff1…

Apache POI简介

三十二、Apache POI 32.1 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用POI在Java程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI都是用于操作Excel文件。 Apache POI 的应用场…

基于区域划分的GaN HEMT 准物理大信号模型

GaN HEMT器件的大信号等效电路模型分为经验基模型和物理基模型。经验基模型具有较高精度但参数提取困难&#xff0c;特别在GaN HEMT器件工艺不稳定的情况下不易应用。相比之下&#xff0c;物理基模型从器件工作机理出发&#xff0c;参数提取相对方便&#xff0c;且更容易更新和…

火山引擎 ByteHouse 的增强型数据导入技术实践

作为企业数字化建设的必备要素&#xff0c;易用的数据引擎能帮助企业提升数据使用效率&#xff0c;更好提升数据应用价值&#xff0c;夯实数字化建设基础。 数据导入是衡量OLAP引擎性能及易用性的重要标准之一&#xff0c;高效的数据导入能力能够加速数据实时处理和分析的效率。…

Sa-Token 整合Java17和SpringBoot

目录 前言引入项目开启登录认证路由拦截鉴权解决兼容问题总结 前言 之前无意中发现Sa-Token权限认证框架&#xff0c;项目十分好用。 项目地址&#xff1a; https://github.com/dromara/sa-token 官网地址&#xff1a; https://sa-token.cc/doc.html#/start/example 我的个人…

不停的挖掘硬盘的最大潜能

从 NAS 上退休的硬盘被用在了监控的存储上了。 随着硬盘使用寿命的接近尾声&#xff0c;感觉就是从高附加值数据到低附加值数据上。监控数据只会保留那么几个月的时间&#xff0c;很多时候都会被覆盖重新写入。 有人问为什么监控数据不保留几年的&#xff0c;那是因为监控数据…