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

相关推荐
P.H. Infinity41 分钟前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天1 小时前
java的threadlocal为何内存泄漏
java
但老师1 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y1 小时前
git创建分支
git
caridle1 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^1 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋31 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx
秋の花1 小时前
【JAVA基础】Java集合基础
java·开发语言·windows
小松学前端1 小时前
第六章 7.0 LinkList
java·开发语言·网络
Wx-bishekaifayuan1 小时前
django电商易购系统-计算机设计毕业源码61059
java·spring boot·spring·spring cloud·django·sqlite·guava