IDEA中使用Git保姆级教学

举报
LoneWalker、 发表于 2023/08/07 10:09:10 2023/08/07
【摘要】 IDEA中使用Git保姆级教学

1、IDEA中配置Git

选择File→Settings打开设置窗口,找到Version Control下的Git选项,然后配置Git路径。如果Git安装在默认路径下,IDEA可以自动找到。选择路径后点击右侧Test,出现版本号提示即可【由于IDEA版本问题,提示的方式可能不一致】。

2、IDEA中使用Git

2.1拉取项目

选择File→New→Project from Version Control

实际工作中拉取的项目可能存在于公司搭建的GitLab中,我们这里从码云拉取,道理都是一样的。

复制此项目的git地址,填入URL,Directory是项目在你本地的地址,然后点击Clone即可。

打开它

2.2 选择正确的分支

实际项目中会存在很多分支,那我们需要拉取正确的分支来进行开发,在IDEA的右下角可以选择,默认是master分支。

想要哪个分支直接Checkout即可。

2.3 代码提交到暂存区

拉取代码后开始工作,比如这里我们修改了一些类中的代码,又新增了一些类。但是这个红色的要引起注意。

右键项目,选择Git→ Add 将文件信息加到暂存区

此时可以看到刚刚的Teacher类变为绿色了。

然后右键项目,选择Git→ Commit

选择我们想要提交的文件,填写提交信息,然后Commit,主要用于将暂存区里的改动内容提交到本地仓库中。

2.4 更新代码

一般在将本地代码提交到远程仓库时,最好先更新下远程仓库的代码到本地,从而避免不必要的冲突。【养成良好的习惯,每天到公司就先更新代码】

通过IDEA的右上角更新图标,或者通过快捷键 Ctrl + T 进行拉取

更新时有两种方式:

  1. Merge incoming changes into the current brance
  2. Rebase the current branch on top of incoming changes

两种方式我们通过图的形式来分析一下:

你和同事在同一个

Merge

看一下实际项目中的情况,最后会形成一个新的 commit 提交

Rebase

Merge具有更高的可追溯性,而Rebase则更整洁且易于审核。

2.5 推送代码

右键选择Git→ Repository→ Push 或者快捷键 Ctrl+Shift+K

调出界面后,排查没问题Push即可。

2.6 撤销提交

上一步说到排查没问题再Push,那如果有问题在Version Control的Log中可以看到刚刚Commit的记录

右键这条日志,可以选择撤销或者编辑提交信息

选default就可以

然后修改重新提交即可。【需要注意的是撤销当前分支最后一次提交】

2.7 储藏改变

场景:

1、代码没有commit,但是需要pull代码

2、代码没有commit,但是需要切分支

右键Git → Stash Changes

这样就可以把本地的改动藏起来

pull完代码后再通过Unstash Changes把藏起来的代码释放出来

2.8 撤销推送

【方法一】比如我这里新增学科类,Commit

然后推送到远程仓库了

这个时候我发现推送错了,可以在Version Control的Log中选中我想撤销的记录,选中Undo Commit

但是这个时候只是本地,不会影响到远程仓库,我们还需要做一次推送

然而你发现啥都没有,此时我们需要强推

查看远程仓库推送记录,刚刚的记录已经不在了。

而我们的代码在上述撤销提交中也提到了,改变的代码还是在的,不用担心

【方法二】

我们先把刚刚的改动代码再次Commit、Push。查看日志,我们想把第一条记录撤销,那么也就意味着版本回到第二条记录的位置

右键第二条记录,选择 Reset Current Branch...

此时会出现四个选项

  • Soft暂存区【Add后】和你本地改动代码都在,新增的文件你会发现它是绿色
  • Mixed本地改动代码在,暂存区没有了,你刚刚新增的文件是红色了
  • Hard在选择的回退点之后的所有更改都会被丢弃(包括未提交和已提交的文件)。这种方式会删除回退点之后的所有文件,影响巨大,除非真的有此需要,否则不推荐使用
  • Keep在选择的回退点之后的所有已提交的更改会被丢弃,但未提交的文件会被完整地保存下来。如果真的有此需要,可以选择。

选择 Soft或Mixed后强推一次就可以了。

2.9 合并分支

首先Checkout到目标分支,然后选择想合并的分支右侧三角符,选择Merge或者Rebase

3、扩展

3.1 代码冲突

代码合并过程中避免不了有冲突的情况,实际项目中也存在有代码合丢了的情况,个人愚见:

一两行简单的冲突,喊同事一起看一看取舍一下即可。

复杂一点的冲突,建议把自己的代码复制一份出来,然后选择接受别人的,防止把别人的代码冲丢了,再使用代码比对工具将复制出来的代码与IDEA中的对比解决。

3.2 Commit Message

简明扼要的概括一下此次Commit的内容,附一张开源项目的图:

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。