IDEA中git的常用操作(保姆级教学)

IDEA中git的常用操作(保姆级教学)

以下是git的工作原理,觉得繁琐的可以跳过不看

Workspace :工作区 (平时存放代码的地方)
Index / Stage :暂存区(用于临时存放存放你的改动,事实上就是一个文件,保存即将提交的文件列表信息)
Repository :仓库区或本地仓库 (就是安全存放数据的位置,这里有你提交到所有版本的数据)
Remote:远程仓库(托管代码的服务器,例如GitHub)

废话不多说,下面使用IDEA进行演示,其他IDE应该大同小异

克隆项目
  1. 找到远程仓库克隆的链接
  1. 进行git clone

git clone,git clone顾名思义就是克隆,要想在本地对一个已有的项目进行查看或修改,最快速的方法就是将远程仓库中的代码克隆到本地。

怎么做呢?找到一个空的文件夹,windows应该是右键点击git bash使用git的终端操作

克隆完之后呢,就会发现你的本地文件夹已经有代码辣(第一步已经成功,很简单吧)

这里我只有README.md,是因为我的远程仓库就只有这个文件

修改项目文件
  1. 使用IDEA打开这个文件夹,并在这个文件夹中创建文件的时候,IDEA一般会弹出

这个意思就是问你要不要将这个文件夹加入到git的暂存区,如果你添加的文件之后要上传到远程仓库,无脑选add就完事了,add其实就是让git管理你的文件

上面两个文件是我新创建的,其中Hello.txt是add之后的颜色(绿色),Hello2.txt是我没add的颜色(红色)

之后就是git commit,⚠️只有git add之后才可以git commit(提交你的修改到本地仓库),演示一下

右键点击你要提交的文件

commit一般会让你填写修改注释,也就是让别人知道你这些代码修改了是干什么用的

commit完之后你就会发现这些文件,都变回正常颜色了

回滚项目文件

git支持进行回滚操作,比如你当前修改了Hello.txt,想回到commit时候的状态,怎么办呢?使用git rollback,git会帮你把文件恢复到上一次提交的状态

创建切换分支

一般将远程的项目代码clone到本地仓库都不会直接在master分支上进行修改,而是新建一个分支(例如dev分支)进行分工合作开发,最后在远程仓库由项目主要负责人进行合并,除非这是你的个人项目(随便搞)😏

IDEA中如何新建分支?

IDEA中默认新建完分支就会切换到那个分支上,比如我在Local(本地仓库)创建了这个test分支,那么之后就会默认跳到test分支上

提交代码

在提交代码前一定要拉取更新一下远程仓库的代码(养成习惯),也就是git pull一下,防止你更新的代码已经被别人修改过了

如果没有提醒说明远程仓库没有要更新到你本地的代码,如果有提醒那就说明别人修改了你要更新的代码文件,可能就需要你手动合并一下冲突代码了,下面会演示如何解决

push文件

确保你要push的文件已经commit了,没有commit的文件是无法被push到远程仓库的

push完之后,就可以在远程仓库中看见推送的代码辣

演示如何解决冲突问题

在远程仓库中模拟别人修改了Hello.txt文件

接下来我也在本地上修改Hello.txt文件

这时候我们去pull远程仓库的时候,会报错,其实就是告诉我们代码有冲突

怎么解决?

这时我们需要去merge有冲突的文件,下方可以选择Accept Left和Accept Right,Left就是使用你本地的代码,Right就是使用远程仓库的代码,当然你也可以选择自定义合并后的代码,在中间Result修改即可,修改完点击右下方Apply就可以将代码commit到本地仓库了,接下来就跟上面一样的流程进行push即可

push完,就可以看到远程仓库就有了合并冲突后的代码辣

相关推荐
计算机毕设指导62 分钟前
基于微信小程序的水上警务通系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
陌生的人儿2 分钟前
老年痴呆患者心血管防护,硝酸甘油使用需 “专人监护”
java·eclipse·tomcat·maven·0.3mg硝酸甘油舌下片
冷雨夜中漫步11 分钟前
Java类加载机制——双亲委派与自定义类加载器
java·开发语言·python
SadSunset21 分钟前
(29)阶段性个人总结
java
qq_124987075342 分钟前
基于springboot的智能医院挂号系统(源码+论文+部署+安装)
java·人工智能·spring boot·后端·毕业设计
悲喜自渡7211 小时前
Docker指令自存
java·docker·eureka
Dingdangr1 小时前
基于Python的火焰识别系统设计与实现(含论文、开题报告及答辩PPT)
java·python·测试工具·安全
梁同学与Android1 小时前
Android ---【经验篇】Fragment 生命周期高频面试题(附标准答案)
java·面试·fragment面试
速易达网络1 小时前
Java Web + Vue 前后端分离跨域解决方案
java·开发语言
艺杯羹1 小时前
Thymeleaf模板引擎:让Spring Boot页面开发更简单高效
java·spring boot·后端·thymeleadf