java开发中常用的Git命令详解

java开发中常用的Git命令详解(IDEA内如何操作)

    • 一:写这篇文章的目的是什么?
    • 二:使用场景在哪里?
        • 1:当我们要使用idea去git仓库拉代码时,首先我们的idea得配置git工具
        • 2:项目有了,我们该如何创建自己的分支呢
        • 3:代码的基本提交流程,生成远程分支
        • 4:本地分支合并master的流程
        • 5:图解将远程master分支合并到本地
    • 三:常用的命令区别与个人理解
      • pull与fetch区别
      • checkout和reset区别
        • 组长喊我写代码了。。。。。之后的再慢慢补充

一:写这篇文章的目的是什么?

答:一方面自己记性不好,好记性不如烂笔头。
另一方面,网上的解析我觉得是没有一篇能够满足我的需求的,特此在这总结一下。

二:使用场景在哪里?

1:项目刚开始,老大给我个链接,要我拉下代码,创建自己的一个分支
2:自己添加了代码,怎么完整的推送到自己的远程分支
3:怎么把自己的代码合并到master上不容易出错呢

1:当我们要使用idea去git仓库拉代码时,首先我们的idea得配置git工具

第一步,配置git(下载git后最好先配置下全局用户名和邮箱)
java开发中常用的Git命令详解_第1张图片
第二步,拉取代码(也可以登录github账号直接拉取github上的项目)
java开发中常用的Git命令详解_第2张图片
java开发中常用的Git命令详解_第3张图片
在URL地址里的输入老大给你的代码仓库的地址,
Directory里是项目保存的地址。
点击clone就可以啦。(如果有权限问题再问问老大把!!!)

2:项目有了,我们该如何创建自己的分支呢

java开发中常用的Git命令详解_第4张图片
项目clone完成后,在idea界面的右下方,默认当前分支是master主分支,点击即可查看所有远程分支和本地分支。
java开发中常用的Git命令详解_第5张图片

左键远程分支,选择New Branch from Selected 。输入分支名称,即可创建本地分支了。
java开发中常用的Git命令详解_第6张图片

3:代码的基本提交流程,生成远程分支

当我们在创建一个新文件后,会出现以下提示:
java开发中常用的Git命令详解_第7张图片
该提示的目的是将刚创建的文件添加到git的暂存区。这个在之后的命令介绍里再具体解释有啥用!!

当我们的代码有变动后,点击下图对勾的地方进行代码的提交(提交只会提交到本地仓库):
在这里插入图片描述
java开发中常用的Git命令详解_第8张图片
点击commit将变动提交至本地仓库,点击commit and push将代码提交到本地仓库后,同时推到远程仓库。
如果只点击了commit,我们还可在右下角分支位置进行push操作。
java开发中常用的Git命令详解_第9张图片

4:本地分支合并master的流程

1:将远程master分支pull下来与当前分支合并,(如果有冲突解决冲突)
(这里的用意是所有的冲突尽量在自己的分支解决,不直接在master上去解决冲突)
2:将当前分支push到远程仓库
3:切换到master分支,将远程仓库自己的分支pull到本地与master合并
4:将本地master分支push到远程仓库

5:图解将远程master分支合并到本地

右键idea项目名称 如图:
java开发中常用的Git命令详解_第10张图片

java开发中常用的Git命令详解_第11张图片将远程分支上最新的内容与拉取到本地,与当前分支进行merge合并操作。

三:常用的命令区别与个人理解

java开发中常用的Git命令详解_第12张图片
图片来源https://blog.csdn.net/ooobama/article/details/99862144

pull与fetch区别

pull = (fetch + merge)
pull操作会直接将远程分支合并到本地分支,同时自动merge两者的代码。
(这个操作对于严谨性要求高的公司是不可取的,程序的自动合并如果有代码问题无法快速定位)

关于fetch的操作具体可以参考这个大哥哥的博客

checkout和reset区别

当本地文件进行修改,删除操作还没进行add操作时,使用checkout会将远程仓库最新的拉取到本地,覆盖掉之前未add的操作(新增的除外,会有提示smart check)。

使用reset会丢弃掉本地已经commit的版本,回到上一次commit的版本,对于已经push的不能进行reset操作。

组长喊我写代码了。。。。。之后的再慢慢补充

你可能感兴趣的:(java基础,git,java,intellij,idea)