【Git-IDEA】在 IDEA 中使用 Git(clone、pull、push、merge、建立本地分支与远程分支的连接)

2023-12-22 16:38:18

Git 安装步骤请参考:【Git-Git的安装了解与使用】了解Git & 安装Git & 使用Git

需求描述:

1、使用 Gitee 作为远程仓库进行测试

2、使用 idea-Git 进行 clone

3、使用 idea 创建 Git 分支,并建立本地分支与远程分支的连接

4、使用 idea-Git 进行 pull、push

5、使用 idea-Git 进行 merge

1)Gitee

使用 Gitee 作为远程仓库进行测试

Gitee 官网地址

1、创建仓库

在这里插入图片描述

简单选择一些属性后创建

在这里插入图片描述

2、进入仓库

在这里插入图片描述

3、仓库地址

在这里插入图片描述

2)配置 Git

在这里插入图片描述

3)初始化本地仓库

1、创建完远程仓库之后,还要通过 IDEA 开发工具来初始化一个本地仓库,相比于 Git Bash 这样的命令行来说,IDEA 非常方便可以进行可视化的 Git 管理。

在这里插入图片描述

2、点击 Create Git Repository 之后,弹出一个小窗口,选择要初始化的本地项目。

在这里插入图片描述

4)连接远程仓库

1、初始化本地仓库,并且创建完远程仓库项目之后,下一步就需要将本地和远程进行对接交互了。那么在交互之前,肯定是要进行建立连接的,就像打电话之前先呼号建立通话连接一样,之后再进行信息交换。

在这里插入图片描述

2、添加 Remote,输入 Name 和 URL,这里的 Name 如果没有特殊设置就是按照默认的 origin 来,也是 IDEA 自动补全的,建议在创建远程项目的时候不要轻易修改,这里的 URL 就是在远程项目信息中可以看到,我就不放出来了。

在这里插入图片描述

3、之后弹出一个登录 gitee 的窗口,输入自己在注册 gitee 的账号和密码即可。

在这里插入图片描述

4、验证通过之后,Git Remotes 中便出现了远程项目的 Name 和 URL,最后点击 OK,这样就正式连接远程仓库项目了。

在这里插入图片描述

5)clone

5.1.方式一

在这里插入图片描述

在这里插入图片描述

5.2.方式二

在这里插入图片描述

在这里插入图片描述

6)分支操作

6.1.新建分支

在实际项目开发过程中,当遇到一个需求时,我们并不会直接就在主分支(master)上面进行开发,而是在主分支的基础上单独创建一个新的分支进行开发,当新建分支的代码经过代码评审以及测试验证通过,确认准确无误之后才会将新增的代码合并到主分支master,这才是一个规范的git操作流程。

因此,必须要掌握新建分支的过程,那么创建一个分支的过程如下图所示:

1、首先,单击 “Remote Branches” 下的 “origin/master” 分支,单击选择 “New Branch from Selected…”

在这里插入图片描述

2、其次,弹出对话框,输入你要新建的分支名称。例如,feature-1.1.0,单击“Checkout”,表示创建该分支同时切换到 feature-1.1.0 分支。

在这里插入图片描述

3、然后,创建分支 feature-1.1.0 成功之后,可以在 “Local Branches” 下看到此时有两个分支分别为feature-1.1.0 和 master,这表明本地仓库中已经有了新建的分支了。

在这里插入图片描述

4、但是 “Remote Branches” 下依然只有一个 master 分支,表明在我们的远程仓库依然只有一个master 分支,因此我们还需要把在本地仓库新建的分支推送到远程仓库中,这样就可以在远程仓库中看到新建的分支了。

单击 feature-1.1.0 ,然后在左边单击 “Push” ,弹出推送对话框。单击 “Push” 推送到远程仓库,这样分支新建操作彻底完成,可以看到在"Remote Branches"分支下面出现了“feature-1.1.0”,我们可以在该分支进行编码并进行拉取和推送操作。

在这里插入图片描述

在这里插入图片描述

6.2.删除分支

1、首先,在 “Local Branches” 下单击分支 feature-1.1.0,左边弹出选项选中 “Delete”。

在这里插入图片描述

2、然后,在对话框中勾选“Delete tracking local feature-1.1.0 as well”,意思就是同时删除远程和本地仓库中的 feature-1.1.0 分支。

在这里插入图片描述

3、删除成功之后,出现提示信息 “Deleted Branch:feature-1.1.0”,并且可以在 Git Branches 下看到最新的分支情况。

在这里插入图片描述

6.3.合并分支

合并分支是将 A 分支合并到 B 分支,A 分支称为源分支,B 分支称为目标分支。

注意事项:
master 分支是我们部署在生产环境服务器的分支,master 分支的代码往往是最新的代码。通常我们有一个新的需求时不会直接在 master 分支进行实施编码,而是基于 master 分支拉出一个新的分支,在拉出来的新分支进行实施编码。只有当新分支的代码经过 code review 以及测试联调通过之后,才会将代码合并到 master 分支等待部署上线。
合并分支的流程务必规范:先将 master 分支合并到新分支,之后再将新分支合并到 master 分支。 这样做的原因是因为一个项目通常由多个人负责,可能在你开发的过程中,有新的代码已经合并到 master 分支并且部署上线了,但是你拉的新分支上的代码依旧是 master 分支的老代码。所以需要先更新你拉的新分支上的代码,将其他人更新的代码合并过来,保证你拉的新分支代码与最新的 master 分支代码一致(以免因为丢失最新修改的代码而造成线上事故)之后再将你的新拉的分支代码合并到 master 分支上面。

以 feature-1.1.0 分支和 master 分支为例,将 feature-1.1.0 分支合并到 master 分支中。

1、首先,切换到 feature-1.1.0 分支,将 master 分支合并到 feature-1.1.0 分支中。单击 “Local Branches” 下的 master,选择 “Merge into Current”,这里的 Current 是指目标(feature-1.1.0)分支 ,也就是将 master 分支合并到 feature-1.1.0 分支中,合并成功之后可以看到提示。

在这里插入图片描述

在这里插入图片描述

2、然后,切换到 master 分支下,将 feature-1.1.0 分支合并到 master 分支。

在这里插入图片描述

在这里插入图片描述

3、最后,我们可以看到在 “Local Branches” 下的 master 分支有个绿色的小箭头,这是因为我们刚才的分支合并在本地仓库操作的,并没有将远程的 feature-1.1.0 分支合并到 master 分支中。因此,我们还需要将 master 分支推送到远程仓库,点击 Push 或者使用快捷键 Ctrl+Shift+K 推送到远程仓库即可,推送成功之后绿色提示小箭头也会消失。

在这里插入图片描述

7)推送代码到远程仓库

7.1.commit

在这里插入图片描述

或者

在这里插入图片描述

在这里插入图片描述

7.2.push

在这里插入图片描述

在这里插入图片描述

8)拉取或更新远程代码到本地仓库

我们在 push 代码之前,最好先 update 或 pull 一下远程仓库的代码到本地,防止 push 代码后造成冲突。

8.1.pull

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8.2.建立本地分支与远程分支的连接

1、实际使用中,在我们创建完分支后,发现无法进行 pull 操作。

在这里插入图片描述

2、我们点击右下角的 git 发现,新建的分支并没有和远程分支进行连接。

在这里插入图片描述

3、IDEA 控制台,通过命令的方式建立本地分支与远程分支的连接。

命令如下:

git branch --set-upstream-to=origin/远程分支 本地分支

在这里插入图片描述

4、此时再次观察,发现已经建立连接,并且可以成功 pull。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9)常用快捷键

快捷键操作解释
Ctrl+Kcommit changes(提交变化到本地仓库)
Ctrl+Shift+Kpush commits to push(将本地仓库的变化同步推送到远程仓库)
Ctrl+Tupdate project(将远程仓库的代码合并更新到本地)
Ctrl+Alt+ZRollback(代码回滚)

10)总结

Git 作为非常强大的分布式版本管理系统,在版本控制中使用非常广泛,因此学会 Git 非常重要。IDEA 开发工具中集成了 Git,使得我们可以进行可视化操作 Git,进行版本控制,提高了效率。

如果想使用 Git 命令进行操作,请参考:

【Git-Git的安装了解与使用】了解Git & 安装Git & 使用Git

【Git-Git克隆代码与提交代码】使用Git命令方式拉取代码至本地以及上传代码到云端

文章来源:https://blog.csdn.net/weixin_53543905/article/details/135150156
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。