Git 分布式版本控制工具 06在IDEA中使用Git:获取Git仓库+本地仓库操作+远程仓库操作+创建/查看/切换/推送/合并分支操作

在IDEA中使用Git

    • 7. 在IDEA中使用Git
      • 7.1 在IDEA中配置Git
      • 7.2 获取Git仓库
        • 7.2.1 本地初始化仓库
        • 7.2.2 从远程仓库克隆
      • 7.3 Git忽略文件
      • 7.4 本地仓库操作
        • 7.4.1 将文件加入暂存区
        • 7.4.2 将暂存区文件提交到版本库
        • 7.4.3 查看日志
      • 7.5 远程仓库操作
        • 7.5.1 查看远程仓库
        • 7.5.2 添加远程仓库
        • 7.5.3 推送至远程仓库
        • 7.5.4 从远程仓库拉取
      • 7.6 分支操作
        • 7.6.1 查看分支
        • 7.6.2 创建分支
        • 7.6.3 切换分支
        • 7.6.4 将分支推送到远程仓库
        • 7.6.5 合并分支

7. 在IDEA中使用Git

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

7.1 在IDEA中配置Git

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

Git安装目录:

在这里插入图片描述

解释说明:

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

IDEA中的配置:

在这里插入图片描述

说明:如果Git安装在默认目录中(C:\Program Files\Git),则IDEA中无需再手动配置,直接就可以使用。

7.2 获取Git仓库

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

  • 本地初始化仓库,本质就是执行 git init 命令
  • 从远程仓库克隆,本质就是执行 git clone 命令

7.2.1 本地初始化仓库

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

操作完成后可以在IDEA的工具栏中看到Git的相关操作图标:

在这里插入图片描述

7.2.2 从远程仓库克隆

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

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

在这里插入图片描述

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

在这里插入图片描述

7.3 Git忽略文件

在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

7.4 本地仓库操作

本地仓库操作:

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

7.4.1 将文件加入暂存区

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

在这里插入图片描述

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

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

1)提交一个文件:

在这里插入图片描述

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

2)提交多个文件:

在这里插入图片描述

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

由于提交操作属于高频操作,所以为了进一步方便操作,在IDEA的工具栏中提供了提交操作的快捷按钮:
在这里插入图片描述

7.4.3 查看日志

查看日志,既可以查看整个仓库的提交日志,也可以查看某个文件的提交日志。

1)查看整个项目的提交日志:

在这里插入图片描述

在这里插入图片描述

2)查看某个文件的提交日志

在这里插入图片描述

在这里插入图片描述

7.5 远程仓库操作

远程仓库操作:

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

7.5.1 查看远程仓库

操作过程如下:

在这里插入图片描述

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

在这里插入图片描述

7.5.2 添加远程仓库

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

在这里插入图片描述

7.5.3 推送至远程仓库

可以通过如下操作将本地仓库文件推送至远程仓库:

在这里插入图片描述

在弹出的【Push Commits】窗口中可以看到本次推送的文件,点击【Push】按钮即可推送至远程仓库:

在这里插入图片描述

由于推送至远程仓库操作属于高频操作,所以可以通过IDEA工具栏中的提交快捷按钮同时完成提交和推送:
在这里插入图片描述

点击【Commit and Push…】按钮同时完成提交和推送操作

7.5.4 从远程仓库拉取

可以通过如下操作从远程仓库拉取:

在这里插入图片描述

由于从远程仓库拉取文件属于高频操作,所以在IDEA的工具栏中提供了对应的快捷按钮:
在这里插入图片描述

在弹出的【Update Project】窗口中点击【OK】:

在这里插入图片描述

7.6 分支操作

分支操作:

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

7.6.1 查看分支

可以通过如下操作查看分支:

在这里插入图片描述

在弹出的窗口中可以看到本地分支和远程分支:

在这里插入图片描述

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

在这里插入图片描述

点击【master】快捷按钮即可弹出【Git Branches】分支窗口:

在这里插入图片描述

7.6.2 创建分支

在【Git Branches】分支窗口中点击【New Branch】,弹出如下窗口:

在这里插入图片描述

在弹出的【Create New Branch】窗口中输入新分支的名称,点击【Create】按钮完成分支创建

7.6.3 切换分支

通过如下操作可以切换分支:

在这里插入图片描述

7.6.4 将分支推送到远程仓库

通过如下操作可以将分支推送到远程仓库:

在这里插入图片描述

7.6.5 合并分支

通过下面操作可以进行分支的合并:

在这里插入图片描述

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

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

相关文章

linux 内核宏container_of剖析

1、前面说的我在好几年前读linux 驱动代码的时候看到这个宏,百度了好久,知道怎么用了,但是对实现过程和原理还是一知半解。container_of宏 在linux内核代码里面使用次数非常非常多,对于喜欢linux编程的同学来说,了解其…

目录树 删除 数据结构_数据结构:B树和B+树的插入、删除图文详解

B树1.1B树的定义B树也称B-树,它是一颗多路平衡查找树。我们描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点,一般用字母m表示阶数。当m取2时,就是我们常见的二叉搜索树。一颗m阶的B树定义如下:1)每个结点最…

MMdetection框架速成系列 第01部分:学习路线图与步骤+优先学习的两个目标检测模型代码+loss计算流程+遇到问题如何求助+Anaconda3下的安装教程(mmdet+mmdet3d)

mmdetection 学习目录1 mmdetection 学习建议1.1 mmdetection 学习的第一件事1.2 mmdetection学习路线图1.2.1 优先看的两个库1.2.2 阅读代码1.2.3 代码学习步骤1.2.4 建议优先学习的两个目标检测模型代码1.2.5 loss计算流程的攻坚克难1.3 遇到问题如何求助2 Anaconda3下的安装…

机器人循迹小车资料

前言 我记得在大学的时候,参加电子比赛,我们有一个题目是平衡小车项目,那个对基础要求还是比较高的,总结了一些平衡车机器的资料,希望对大家有帮助。 正文 关注公众号,回复【机器人资料】获取

单片机实现环形队列_稀疏数组和队列(二)

队列的介绍队列以一种先入先出(FIFO)的线性表,还有一种先入后出的线性表(FILO)叫做栈。教科书上有明确的定义与描述。类似于现实中排队时的队列(队尾进,队头出),队列只在线性表两端进行操作,插入元素的一端称为表尾,删…

漫画-Linux中断子系统综述

1、中断引发的面试教训2、什么是中断?中断: (英语:Interrupt)指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即…

SQL强化(二) 在Oracle 中写代码

一 : 关于查询中的转换 -- 字符串转换 一 : decode 函数 转换 SELECT DECODE ( PROTYPE.PRO_TYPE_DATE, L, 长, m, 短, 默认值 )FROM PROTYPE -- 字符串转换 二 : case 转换 SELECT T1.PRO_TYPE_ID, T1.PRO_TYPE_NAME, CASE T1.PRO_TYPE_DATEWHEN S THEN 短WHEN L THEN 长EL…

vue 非es6 写法怎么按须加载_Vue源码必学指南:flow(语法检查)以及rollup(模板打包)...

点击上方蓝色字关注我们~一、前言虽然 Vue3 已经公开了代码,但是Vue3.0还处于开发阶段,直接上手使用Typescript是不合适的 , 对于前端的老手是不错的选择, 但是如果没有研究源码经验的开发者还是建议使用完善, 成熟的源码进行入手. 而 Vue 2.x 中使用的 flow 是一个…

漫画|创业到底有多难?

我有一群同事,我们一起经历了一个产品从无到有的过程,从开始的斗志满满到最后跟老板的不欢而散,其中的辛酸苦楚也许只能我们自己能体味,在这过程中,我们共同经历过的事情,有快乐的,悲伤的&#…

生成step文件_利用opencv给彦女王生成一副蒙太奇画像

大家好呀,前两天烈阳天道1上映了,不知道大家看没看呢,里面还有一小段彦穿越虫洞与猴哥相遇的画面,彦女王啊啊啊~~所以我去网上爬了二百来张我大学的风景画,然后找了以前存的彦女王的图片,生成了一幅蒙太奇画…

浪漫情人节|C语言画心型

1.前言新年第一天上班,先祝大家新年快乐,巧的是,今天刚好又是情人节,所以想了下用C实现画心形符号~过年的时候,跟我表哥去接新娘,实地看了下,如果一个汉字内心没有点浪漫的细胞,很难…

CS190.1x Scalable Machine Learning

这门课是CS100.1x的后续课,看课程名字就知道这门课主要讲机器学习。难度也会比上一门课大一点。如果你对这门课感兴趣,可以看看我这篇博客,如果对PySpark感兴趣,可以看我分析作业的博客。 Course Software Setup 这门课的环境配置…

./4.sh: No such file or directory

sh push到目标板后提示出错 #!/bin/bash echo "ladjfaosdjfoia"头bin/bash 我们要看,sh在哪里 130|rk3399_idpad:/data # which sh /system/bin/sh rk3399_idpad:/data # 所以上面的代码应该写成 #!/system/bin/sh echo "ladjfaosdjfoia"修…

Spring总结四:IOC和DI 注解方式

首先我们要了解注解和xml配置的区别: 作用一样,但是注解写在Bean的上方来代替我们之前在xml文件中所做的bean配置,也就是说我们使用了注解的方式,就不用再xml里面进行配置了,相对来说注解方式更为简便。 IOC获取对象注…

和后台如何对接_业务系统如何对接第三方服务?

在产品工作中,我们时常要对接第三方服务。本文作者从过往的对接项目经历中,提炼的关于业务系统,如何对接第三方服务的方法论,希望能对你有所帮助。随着公司业务的发展,我们有时会遇到,需要在自身业务系统中…

adb 启动某个apk

有时候需要用apk来启动某个apk adb shell am start -n com.android.launcher3/com.android.launcher3.Launcher 具体查看~ /rk3399_7in1/packages/apps/Launcher3/AndroidManifest.xml

Makefile 文件中的:obj-$(CONFIG_TEST) += test.o,这一类的是什么意思?

1、obj-$ $(CONFIG_TEST) 是一个整体,$(bbb)表示引用变量 bbb 比如定义 CONFIG_TESTy $(CONFIG_TEST) 就是 y obj-$(CONFIG_TEST) 就是 obj-y 又比如定义 CONFIG_TESTm $(CONFIG_TEST) 就是 m obj-$(CONFIG_TEST) 就是 obj-m obj-y foo.o 该例子告诉Kbuild在这目…

Kconfig中的“depends on”和“select”

在Kconfig文件中: config Adepends on Bselect C它的含义是:CONFIG_A配置与否,取决于CONFIG_B是否配置。一旦CONFIG_A配置了,CONFIG_C也自动配置了。 参考资料:“select” vs “depends” in kernel Kconfig。 所以去…

数组的合并和升序排列_leetcode 33 搜索旋转排序数组

给你一个升序排列的整数数组 nums ,和一个整数 target 。假设按照升序排序的数组在预先未知的某个点上进行了旋转。(例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请你在数组中搜索 target ,如果数组中存在…

[LeetCode] [C++] 206 Reverse Linked List 反转单项链表

题目要求 Reverse a singly linked list.LeetCode 206在线测试 问题描述 给定一个单项链表,将其反转后返回链表头节点。 思路分析1 可以完整的遍历一遍链表,将链表的每个节点的值存在数组中,然后反向遍历数组重新生存一个新 链表。这样做需要…