Intellij Idea + Git 完美实战!

环境准备

  • 使用前需要安装一个远程的 Git 仓库和本地的 Git 客户端。
  • 由于IDEA中的Git插件需要依赖本地Git客户端,所以需要进行如下配置:

如果本地已有项目,直接通过如下操作,即可在远程自动创建仓库并关联

1. 克隆远程仓库代码(适用于本地无代码,从远程仓库 pull 下来)

注意: 克隆后的文件位置给出的文件如果不存在会自动创建,如果存在,需要为空

克隆成功

2. 初始化 git 仓库(一个新的项目,从 0 开始)

3. 提交(commit) 拉取(pull) 推送(push) 代码

有多种方式可以进行操作,文章中只列举一种

  • 多人合作分支:commit → \to → pull → \to → push,防止代码丢失
  • 单人分支:commit and push,后续弹窗中进行push选择

commit(将所有文件添加到暂存区中)

项目名右击 → \to → Git → \to → Commit Directory...

或者直接点击小图标

界面底下,这里可以看到当前情况

4. push(将代码推送到远程仓库)

点击 push 按钮推送代码:

或者直接点击小标图

确认推送内容:

查看远程仓库发现已经提交完成:

5. pull(从远程仓库拉取代码)

在远程仓库添加一个TestPull.md文件:

从远程仓库拉取代码:

确认拉取分支信息:

6. 从本地创建分支并推送到远程

在本地创建lqh分支,点击右下角的Git:master按钮:

使用push将本地lqh分支推送到远程:

查看远程仓库发现已经创建了lqh分支:

7. 删除分支

删除分支后,需要 push 到远程仓库

8. 分支切换

从 lqh 分支切换回 master 分支:

9. Git文件冲突问题解决

修改远程仓库代码:

修改本地仓库代码:

提交本地仓库代码并拉取,发现代码产生冲突,点击Merge进行合并:

点击箭头将左右两侧代码合并到中间区域:

冲突合并完成后,点击Apply生效:

提交代码并推送到远程。

10. 合代码(不同分支合代码)

  • 描述: 有分支 master,分支 lqh,现计划将分支 lqh 的部分代码合到分支 master 上
    lqh 与 master 分支相同文件的差异如下(这里仅演示方便,差异不在代码而在 README.md ,代码同)

master 分支

lqh分支

  • 切换本地分支为目标分支 master,即将代码合到此分支上
  • 切换前先进行 fetch 操作,保证分支完备

切换为目标分支之后,对此分支进行pull操作,保证当前代码版本为最新

项目名称上右击 → \to → Git → \to → Compare with branch...

选择需要合并到 master 的分支 lqh

最右边 changes 会展现两个分支之间的差异

蓝色文件:两个分支都有,但有一部分做了修改

绿色文件:分支 lqh 有,而分支 master 没有

灰色文件:分支 master 有,而分支 lqh 没有

若要合并灰色文件和绿色文件,建议:

  • 先跳转到存在此文件的分支,复制备份要合并的灰色或绿色文件,
  • 在切换回要合并的目标分支上,将复制好的文件粘贴到对应分支的对应包下

以下步骤为合并蓝色文件的操作


左侧为分支 lqh,右侧为分支 master,点击箭头可将分支 lqh 对当前文件的修改应用到分支 master

修改之后可看到,此文件已有蓝色标识和修改记号

将需要修改的文件修改完毕后可将代码推送到远程分支B

操作顺序:commit 修改内容 → \to → pull 再次拉取代码,保证代码最新 → \to →push修改内容到远程分支

对单独一个文件进行代码合并操作

  • 在当前项目文件右击 -> Git -> compare with... 和本分支的历史版本做对比
  • 在当前项目文件右击 -> Git -> compare with the Same Repository Version 和当前版本做对比(即和修改之前的做对比)
  • 在当前项目文件右击 -> Git -> compare with Branch 和其他分支版本做对比

References

Intellij Idea + Git入门到上手操作,完美实战!

idea集成git详解教程(实用篇)

IDEA 使用Git图文详解(学好idea操作git大全)

相关推荐
倔强的小石头_2 小时前
【C语言指南】函数指针深度解析
java·c语言·算法
kangkang-6 小时前
PC端基于SpringBoot架构控制无人机(三):系统架构设计
java·架构·无人机
界面开发小八哥8 小时前
「Java EE开发指南」如何用MyEclipse创建一个WEB项目?(三)
java·ide·java-ee·myeclipse
idolyXyz8 小时前
[java: Cleaner]-一文述之
java
一碗谦谦粉8 小时前
Maven 依赖调解的两大原则
java·maven
netyeaxi9 小时前
Java:使用spring-boot + mybatis如何打印SQL日志?
java·spring·mybatis
收破烂的小熊猫~9 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
猴哥源码9 小时前
基于Java+SpringBoot的动物领养平台
java·spring boot
老任与码9 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
小兵张健9 小时前
武汉拿下 23k offer 经历
java·面试·ai编程