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完,就可以看到远程仓库就有了合并冲突后的代码辣

相关推荐
Amor风信子3 分钟前
华为OD机试真题---战场索敌
java·开发语言·算法·华为od·华为
天天向上杰6 分钟前
简识JVM的栈帧优化共享技术
java·jvm
方圆想当图灵25 分钟前
缓存之美:万文详解 Caffeine 实现原理(下)
java·redis·缓存
栗豆包39 分钟前
w175基于springboot的图书管理系统的设计与实现
java·spring boot·后端·spring·tomcat
@PHARAOH1 小时前
HOW - 基于master的a分支和基于a的b分支合流问题
前端·git·github·分支管理
等一场春雨1 小时前
Java设计模式 十四 行为型模式 (Behavioral Patterns)
java·开发语言·设计模式
酱学编程2 小时前
java中的单元测试的使用以及原理
java·单元测试·log4j
我的运维人生3 小时前
Java并发编程深度解析:从理论到实践
java·开发语言·python·运维开发·技术共享
一只爱吃“兔子”的“胡萝卜”3 小时前
2.Spring-AOP
java·后端·spring
HappyAcmen3 小时前
Java中List集合的面试试题及答案解析
java·面试·list