当前位置: 首页 > news >正文

Git --》如何在IDEA中玩转Git与GitHub?

目录

IDEA集成Git

配置 Git 忽略文件

定位 Git 程序

IDEA初始化本地库

IDEA切换版本

IDEA创建切换分支

IDEA合并分支

IDEA集成GitHub

设置GitHub账号

GitHub生成自己的Token值

IDEA将项目分享到GitHub账号上

IDEA 中 push 推送本地库到远程库(讲解SSH免密登录)

IDEA 中 pull 拉取远程库到本地库

IDEA 中 clone 克隆代码到本地


IDEA集成Git

配置 Git 忽略文件

在项目中有些文件与项目的实际功能无关,不参与服务器上部署运行,把他们忽略掉能够屏蔽IDE工具之间的差距。我们可以通过创建忽略文件 xxx.ignore (前缀名建议是 git.ignore),该文件的存放位置原则上任意位置都可以,为了方便让 ~/.gitconfig 文件引用,建议放在用户家目录下。

在 .gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)。注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”。

定位 Git 程序

在IDEA进行定位设置 Git 程序,如下图所示:

IDEA初始化本地库

新建Maven项目。

点击IDEA如下选项,创建 Git 本地库。

创建完成之后就会在我们项目的文件中出现了 .git 文件。说明git已经接管了我们这个目录文件。

将 pom.xml 提交到暂存区。

当我们书写一些代码时,需要将代码提交到暂存区,我们可以选择将整个项目进行提交

当我们想提交到本地库时右键项目选择Git选择提交目录,选择自己想提交的文件即可上传本地库

IDEA切换版本

当我们对代码文件进行修改,再一次提交到本地库时,IDEA会提示我们两次代码修改之后的区别

接下来通过动图实现IDEA切换版本的方式,超简单。

IDEA创建切换分支

当我们想创建分支时,可以通过以下方法创建分支。

新建分支后切换分支,点击上图的右下角进行切换即可。

IDEA合并分支

在IDEA窗口的右下角,将 hot-fix 分支合并到当前 master 分支。如果代码没有冲突,分支直接合并成功,分支合并成功后,代码自动提交,无需手动提交本地库。

正常合并:我们先将 hot-fix 分支的内容修改一下,然后再提交到本地库。与master进行正常合并

冲突合并

出现文件合并冲突提示我们手动合并,现在我们进行手动合并 。

IDEA集成GitHub

设置GitHub账号

通过GitHub登录可以会收到网路限制,多登录几次,如果不成功的话使用令牌登录也可以。

GitHub生成自己的Token值

令牌登录需要自己的GitHub生成自己的 Token 值。生成的 Token 的步骤如下:

登录自己的GitHub账号进入个人中心,点击如下按钮

使用令牌就可以在IDEA登录到自己的GitHUb账号。

IDEA将项目分享到GitHub账号上

IDEA 中 push 推送本地库到远程库(讲解SSH免密登录)

右键点击项目,可以将当前分支的内容 push 到 GitHub 的远程仓库中。

这里讲解一下ssh来推送,这样对网络没有太大的限制。复制自己GitHub中SSH链接即可。

成功之后选择自己设置的 ssh-git 别名即可。

注意

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

IDEA 中 pull 拉取远程库到本地库

我们先在远程库当中修改我们的代码,然后将更新的代码拉取到我们本地。

注意

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

现在进行对GitHub中的远程项目进行拉取:

IDEA 中 clone 克隆代码到本地

因为我们已经将代码托管到远程库当中,我们就可以将现有的IDEA中的项目删掉,然后在从GitHub中克隆下来。

现在我们在IDEA中删掉项目代码然后再重新打开IDEA,如下图所示:

点击克隆之后IDEA就会将远程库中的项目代码克隆到本地当中。

相关文章:

  • C++中的继承(继承基本概念、菱形虚拟继承内存模型)
  • 怎样从零开始训练一个AI车手?
  • 【Spring Cloud】新闻头条微服务项目:文章内容安全审核(新增DFA+OCR过滤敏感词需求)
  • 猿创征文|给妈妈做个相册——在服务器上搭建Lychee相册的保姆级教程
  • 利用云服务器搭配宝塔面板解禁网易云
  • Proximal Policy Optimization Algorithms
  • ARM KEIL流程_job
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • SpringBoot——快速整合EasyExcel实现Excel的上传下载
  • Vue 国际化之 vue-i18n 的使用
  • 7、Java——for循环打印九九乘法口诀表
  • 目标检测 YOLO 系列模型
  • Java开发五年跳槽涨薪从12K到35K,靠“狂刷”九遍面试题
  • DM数据库安装,docker镜像
  • 项目中的traceID
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • angular组件开发
  • JavaScript HTML DOM
  • JS学习笔记——闭包
  • Linux gpio口使用方法
  • nodejs调试方法
  • NSTimer学习笔记
  • select2 取值 遍历 设置默认值
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Yeoman_Bower_Grunt
  • 大主子表关联的性能优化方法
  • 缓存与缓冲
  • 使用agvtool更改app version/build
  • 使用Gradle第一次构建Java程序
  • 数组大概知多少
  • const的用法,特别是用在函数前面与后面的区别
  • ​linux启动进程的方式
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (一)Neo4j下载安装以及初次使用
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .net 简单实现MD5
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .pyc文件是什么?
  • // an array of int
  • @Resource和@Autowired的区别
  • [\u4e00-\u9fa5] //匹配中文字符
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [AIGC 大数据基础]hive浅谈
  • [AIGC] Redis基础命令集详细介绍
  • [Android 13]Input系列--获取触摸窗口
  • [BJDCTF 2020]easy_md5