《Git学习笔记:IDEA整合Git》

在IDEA中集成Git去使用

  • 通过Git命令可以完成Git相关操作,为了简化操作过程,我们可以在IDEA中配置Git,配置好后就可以在IDEA中通过图形化的方式来操作Git

在IDEA开发工具中可以集成Git:

集成后在IDEA中可以看到Git相关图标 

1. 在IDEA中配置Git

  • 在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要提前安装好Git并在IDEA中配置Git。

Git安装目录:

 

解释说明:  

  • gitk.exe:Git安装目录下的可执行文件,前面执行的git命令,其实就是执行的这个文件  

IDEA中的配置:

  • 首先关闭项目,找到Customize下的All settings:

 

1. 在IDEA当中去配置Git的安装目录 

点击OK即可~! 

2. 本地仓库操作 

在IDEA中使用Git获取仓库有两种方式:

  • 本地初始化仓库
  • 从远程仓库克隆 

2.1 本地初始化仓库

在IDEA中通过如下操作可以在本地初始化一个本地仓库,其实底层就是执行的 git init 命令

操作过程如下:

1)依次选择菜单【VCS】---【Import into Version Control】---【Create Git Repository】

 

2)在弹出的【Create Git Repository】对话框中选择当前项目根目录,点击【OK】按钮:  

操作完成后可以看到当前项目根目录下出现了.git隐藏目录:  

 

2.2 从远程仓库克隆

在IDEA中从远程仓库克隆本质就是执行的 git clone 命令,具体操作过程如下:  

1)在IDEA开始窗口中点击【Get from VCS】  

2)在弹出的【Get from VCS】窗口中输入远程仓库的URL地址对应的本地仓库存放目录,点击【Clone】按钮进行仓库克隆操作 

 

3. Git忽略文件:.gitignore

Git工作区中有一个特殊的文件 .gitignore通过此文件可以指定工作区中的哪些文件不需要Git管理

我们在码云上创建Git远程仓库时可以指定生成此文件,如下:  

创建完成后效果如下:

解释说明:
  1. 我们在使用Git管理项目代码时,并不是所有文件都需要Git管理,例如Java项目中编译的.class文件、开发工具自带的配置文件等,这些文件没有必要交给Git管理,所以也就不需要提交到Git版本库中。
  2. 注意:忽略文件的名称是固定的,不能修改
  3. 添加到忽略列表中的文件后续Git工具就会忽略它  

一个参考的.gitignore文件内容如下:

.git
logs
rebel.xml
target/
!.mvn/wrapper/maven-wrapper.jar
log.path_IS_UNDEFINED
.DS_Store
offline_user.md
*.class### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

4. 本地仓库操作

本地仓库操作:

  • 将文件的修改加入暂存区,本质上就是执行git add命令
  • 将暂存区当中的文件提交到版本库,本质上就是执行git commit命令
  • 查看提交日志,本质上就是执行git log命令

4.1 将文件加入暂存区

当在Git工作区新增文件或者对已有文件修改后,就需要将文件的修改加入暂存区,具体操作如下:  

  • 但是,在IDEA当中这一步可以不做,它会自动操作,也就是说,你可以绕过添加暂存区这一步,直接提交! 

 

4.2 将暂存区文件提交到版本库

  • 将暂存区文件提交到版本库,可以选择一个文件进行提交,也可以选择整个项目提交多个文件。
  • 在IDEA中对文件的提交进行了简化操作,也就是说如果文件修改后,无需再加入暂存区,可以直接提交。 
1)提交一个文件:

可以看到,如果选中一个文件提交,则菜单名称为【Commit File...】 

 

2)提交多个文件:

可以看到,如果提交多个文件,则菜单名称为【Commit Directory...】 

由于提交操作属于高频操作,所以为了进一步方便操作,在IDEA的工具栏中提供了提交操作的快捷按钮

注意: 
  • 我们交给Git进行版本控制的代码只需要传src源码以及必要的配置文件就可以了,其它的像target目录下的信息是不需要交给Git进行版本控制的,因为如果JDK版本一改变,那么你编译后的class文件内容不就变了,那不就是没用了。
  • 上传到Git当中的代码只是源码!

.iml文件是IDEA的配置文件! 

4.3 查看日志

  • 查看日志,既可以查看整个仓库的提交日志,也可以查看某个文件的提交日志
1)查看整个项目的提交日志:  
2)查看某个文件的提交日志  

注意:如果代码运行报错,千万别提交! 

  • 我们拉取项目后第一步就是切换分支,公司有分测试环境和生产环境等不同环境,这时候需要问同事该项目的测试环境是哪个分支,正常情况下测试分支是dev,生产环境是prod。
  • commit提交代码后,该代码是还没有到我们的远程仓库的,只是提交到我们的本地库,我们还需要去push代码,如果只是提交了,没有push,这时候同事拉取代码是看不到你提交的代码的,因为你代码还没到远程仓库。 
  • Commit Message:这里写上备注,通常是写你这提交的文件是做什么的,什么内容。
  • 接着勾选自己需要提交的文件即可。
  • Push代码的意思是推送到远程仓库
  • 每次push到远程仓库之前都先提交到本地仓库再说!
  • 代码冲突时不要选择rebase(变基),因为那会将别人的代码给覆盖掉,但是merge不会。

5. 远程仓库操作

远程仓库操作:

  • 查看远程仓库,本质上就是执行git remote命令
  • 添加远程仓库,本质上就是执行git remote add命令
  • 推送至远程仓库,本质上就是执行git push命令
  • 从远程仓库拉取,本质上就是执行git pull命令 

一个本地仓库就关联一个远程仓库! 

项目(本地仓库)如何关联远程仓库? 

看到下面整个提示说明推送成功:

 

通过IDEA从远程仓库去克隆:

 

或者关闭项目,点击Projects,点击Get from VCS,输入URL地址,点击Clone即可! 

Directory表示克隆出来的代码往哪个目录或工程下面放! 

5.1 查看远程仓库

操作过程如下:

 

在弹出的【Git Remotes】窗口中可以看到配置的远程仓库:

5.2 添加远程仓库

一个本地仓库可以配置多个远程仓库,在【Git Remotes】窗口中点击【+】来添加一个新的远程仓库:

【Update Project】 :从远程仓库拉取

6. 分支操作

  • 各个分支之间是相互独立,相互隔离的! 

分支操作:

  • 查看分支,本质上就是执行git branch命令
  • 创建分支,本质上就是执行git branch 分支名 
  • 切换分支,本质上就是执行git checkout 
  • 将分支推送到远程仓库,本质上就是执行git push
  • 合并分支,本质上就是执行git merge命令 

 

由于分支操作属于高频操作,所以在IDEA的状态栏中提供了分支操作的快捷按钮:  

 

注意:分支合并时需要注意合并的方向! 

  • 合并分支是把指定分支合并到当前分支! 

 

 

 

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

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

相关文章

React16源码: React中调度之batchedUpdates的源码实现

batchedUpdates 1 )概述 在 requestWork 在中间, 会判断一个 isBatchingUpdates 做一些特定的操作batchedUpdates 是一个批量更新的操作, 什么是批量更新呢?先来看一个例子 2 )示例 index.js import React from react import ReactDOM fr…

【MySQL】mysql集群

文章目录 一、mysql日志错误日志查询日志二进制日志慢查询日志redo log和undo log 二、mysql集群主从复制原理介绍配置命令 读写分离原理介绍配置命令 三、mysql分库分表垂直拆分水平拆分 一、mysql日志 MySQL日志 是记录 MySQL 数据库系统运行过程中不同事件和操作的信息的文件…

二级C语言备考6

一、单选 共40题 (共计40分) 第1题 (1.0分) 题号:6675 难度:易 第1章 以下选项中叙述正确的是 A:C程序中的语句要经过编译才能转换成二进制机器指令 B:算法需要包含所有三种基本结构 C:有些算法不能用…

Mac M1 Parallels CentOS7.9 Rancher + K8S + Gitlab + Jenkins +Harbor CICD

一、资源清单 机器名称IP地址角色k8srancher高可用部署: https://blog.csdn.net/qq_41594280/article/details/135312148rancher10.211.55.200管理K8S集群k8svip10.211.55.199K8S VIPmaster0110.211.55.201K8S集群主节点master0210.211.55.202K8S集群主节点master0310.211.55.…

华为机试真题实战应用【赛题代码篇】-分苹果(附Java、C++和python代码)

目录 题目描述 解析思路 思路1 思路2 代码实现 Java 代码2

redis数据结构源码分析——跳表zset

文章目录 跳表的基本思想特点节点与结构跳跃表节点zskiplistNode属性 跳跃表链表属性 跳表的设计思想和优势API解析zslCreate(创建跳跃表)zslCreateNode(创建节点)zslGetRank(查找排位)zslDelete&#xff0…

Tiktok/抖音旋转验证码识别

一、引言 在数字世界的飞速发展中,安全防护成为了一个不容忽视的课题。Tiktok/抖音,作为全球最大的短视频平台之一,每天都有数以亿计的用户活跃在其平台上。为了保护用户的账号安全,Tiktok/抖音引入了一种名为“旋转验证码”的安…

flex布局之美,以后就靠它来布局了

写在前面 在很久很久以前,网页布局基本上通过table 元素来实现。通过操作table 中单元格的align 和valign可以实现水平垂直居中等 再后来,由于CSS 不断完善,便演变出了:标准文档流、浮动布局和定位布局 3种布局 来实现水平垂直居…

恒源云GPU服务器使用Linux图形化界面

编程如画,我是panda! 干货满满,不要走开~ 前言 前一节分享了如何在GPU云服务器上创建实例并运行YOLOV5项目,但是使用命令行的方式容易劝退很多小白,并且有些环境配置是需要图形化界面的,所以这一节就教大家…

Redis常见命令、数据类型

我们可以通过Redis的中文文档:Redis命令中心(Redis commands) -- Redis中国用户组(CRUG),来学习各种命令。 也可以通过菜鸟教程官网来学习:Redis 键(key) | 菜鸟教程 一、Redis数据结构介绍 Red…

Koa学习笔记

1、npm 初始化 npm init -y生成 package.json 文件,记录项目的依赖2、git 初始化 git init生成 .git 隐藏文件夹,.git 的本地仓库创建 .gitignore 文件,添加不提交文件的名称3、创建 ReadMe.md 文件 记录项目笔记4、搭建项目 安装 Koa 框架npm install koa5、编写最基本的…

对Transformer的理解。

要理解Transformer,需要先理解注意力机制,下面大部分内容来自台大教授李宏毅老师讲课资料。 注意力机制 之前使用的MLP,CNN,RNN模型可以解决一些简单序列问题,但当序列长度太长容易失去效果,原因是看了新…

xtu oj 1169 最大子段和

题目描述 给你一个数列a1,a2,...,an,求m个连续数字组成的子段和最大值。 输入 有多个样例,每个样例的第一行是两个整数n和m,(1≤m≤n;≤100,000)。如果n和m为0表示输入结束,这个样例不需要处理。第二行是n个整数ai,0≤ai≤1000…

精确掌控并发:固定时间窗口算法在分布式环境下并发流量控制的设计与实现

这是《百图解码支付系统设计与实现》专栏系列文章中的第(14)篇。点击上方关注,深入了解支付系统的方方面面。 本篇主要介绍分布式场景下常用的并发流量控制方案,包括固定时间窗口、滑动时间窗口、漏桶、令牌桶、分布式消息中间件…

力扣每日一练(24-1-14)

做过类似的题,一眼就是双指针,刚好也就是题解。 if not nums:return 0p1 0 for p2 in range(1, len(nums)):if nums[p2] ! nums[p1]:p1 1nums[p1] nums[p2]return p1 1 根据规律,重复的数字必定相连,那么只要下一个数字与上一…

Fluent 动网格应用:2.5D 网格重构

1 概述 2.5D 网格重构是一种快速网格重构方法,主要应用于涡旋压缩机等存在复杂平面运动且无法简化为二维计算的问题。 涡旋压缩机工作原理(视频源:维基百科) 适用于 2.5D 动网格的问题特点: 计算域几何形状为柱体类形…

八. 实战:CUDA-BEVFusion部署分析-导出带有spconv的SCN网络的onnx

目录 前言0. 简述1. 使用spconv进行SCN的推理测试2. 导出onnx3. 补充-装饰器钩子函数总结下载链接参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 本次课程我们来学习下课程第八章——实战&#x…

反向代理+web集群+mysql mha实验总结

一、实验步骤 1、部署框架前准备工作 服务器类型部署组件ip地址DR1调度服务器 主(ha01)KeepalivedLVS-DR192.168.86.13DR2调度服务器 备 (ha02)KeepalivedLVS-DR192.168.86.14web1节点服务器 (slave01)NginxTomcatMySQL 备MHA managerMHA node192.168.8…

cmake 中的set用法

可以后面跟一串字符串 set — CMake 3.0.2 Documentation

esxi-vSphere

esxi安装 vCenterServer 安装 给予 esxi,一般一个esxi ,就安装一个 vCenter 关于 vCenter Server 安装和设置 vSphere Client安装 软件下载 VMware vSphere 8.0 download: 百度网盘链接:百度网盘 请输入提取码 链接: https://pan.baidu.com/s/1juyKl…