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.hqwc.cn/news/206714.html

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

相关文章

[Linux] shell脚本之循环

一、循环定义 一组被重复执行的语句称之为 循环体,能否继续重复,决定循环的终止条件。 循环语句 是由循环体及循环的终止条件两部分组成的。 二、for循环 2.1 带列表循环 语法 for 变量名 in 取值列表do 命令序列 done 花括号用法: 花括号{ }和seq在for循环…

【React-Router】导航传参

1. searchParams 传参 // /page/Login/index.js import { Link, useNavigate } from react-router-dom const Login () > {const navigate useNavigate()return <div>登录页<button onClick{() > navigate(/article?id91&namejk)}>searchParams 传参…

11.6AOP

一.AOP是什么 是面向切面编程,是对某一类事情的集中处理. 二.解决的问题 三.AOP的组成 四.实现步骤 1.添加依赖(版本要对应): maven仓库链接 2.添加两个注解 3.定义切点 4.通知 5.环绕通知 五.excution表达式 六.AOP原理 1.建立在动态代理的基础上,对方法级别的拦截. 2. …

【钉钉】通过链接方式跳转到应用机器人聊天窗口

使用这个方式&#xff1a; dingtalk://dingtalkclient/action/jumprobot?dingtalkid可以通过机器人回调拿到chatbotUserId这个字段&#xff0c;这个就是dingtalkid。 示例&#xff1a;&#xff08;chatbotUserId是不规则字符串&#xff0c;链接拼上这个参数最好 urlencode一…

银行业务测试

1、商业银行四大类&#xff1a; 业务类系统、渠道类面试、MIS类系统、其他基础平台系统 2、银行系统开发流程&#xff08;UAT是行方&#xff09; 3、银行系统测试流程 4、对于不同的服务方式也不同&#xff0c;如:柜台、手机银行、网上银行&#xff0c;电话外呼&#xff0c;…

每日一练:“打家劫舍“(House Robber)问题 I

1. 问题 假设有一排房屋&#xff0c;每个房屋里都存放着一定数量的财宝。相邻的房屋装有相互连通的防盗系统&#xff0c;如果两个相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。   求解的问题是&#xff0c;小偷在不触发警报的情况下&#xff0c;一晚上最多能偷…

B站已经部分上线前台实名,如不同意实名,后期账号流量将收影响!

B站部分百万粉丝博主的主页显示账号运营人名字的政策是从10月31日开始的。当天&#xff0c;B站官方发布了《哔哩哔哩关于头部“自媒体”账号前台实名的公告》&#xff0c;表明了其前台实名制的实施计划。 B站部分上线前台实名的过程可以追溯到2021年。当时&#xff0c;中国政府…

【Python】学习Python面向对象编程的疑问

&#xff08;Java菜鸟来学Python了&#xff09; &#x1f914; 1. 静态方法与类方法什么区别&#xff1f; 实例方法只能被实例对象调用(Python3 中&#xff0c;如果类调用实例方法&#xff0c;需要显示的传self, 也就是实例对象自己)&#xff0c;静态方法(由staticmethod装饰…

13、深度学习之神经网络

深度学习是机器学习中重要的一个学科分支,它的特点就在于需要构建多层“深度”的神经网络。 人们在探索人工智能初期,就曾设想构建一个用数学方式来表达的模型,它可以模拟人的大脑,大脑我们都知道,有很多神经元,每个神经元之间通过突触链接。 神经网络的设计就是模仿了这…

CRM系统中的联系人是什么?如何进行联系人管理?

上手CRM系统前掌握专业术语是必要的功课&#xff0c;在第一次使用CRM系统时小编和大家一样&#xff0c;分不清楚线索、联系人、客户、商机之间的关系&#xff0c;今天我们就来着重分享一下CRM中联系人是什么&#xff1f;如何进行联系人管理&#xff1f; CRM系统联系人是指能够…

物联网AI MicroPython学习之语法 WDT看门狗外设

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; WDT 介绍 模块功能: 看门狗WDT&#xff08;WatchDog Timer&#xff09;外设驱动模块 接口说明 WDT - 构建WDT对象 函数原型&#xff1a;WDT(timeout)参数说明&#xff1a; 参数类型必选参数&#xff1f…

每日一练:质因数分解

1. 题目 从键盘输入一个整数&#xff0c;开始整数的质因数分解&#xff0c;最后打印出该整数的所有质因数。 2.解题思路 1&#xff09;初始化&#xff1a; 从最小的质数开始&#xff0c;将输入的整数不断除以质数&#xff0c;直到无法整除为止。   2&#xff09;循环&#x…