IDEA使用Git大全

目录

  • 一、Git
    • 1、Git下载(Win)
    • 2、Git安装
    • 3、项目克隆
  • 二、IDEA
    • 1、配置git
    • 2、使用
      • 1、克隆代码
      • 2、新建分支
      • 3、切换分支
      • 4、代码拉取(Pull)
        • 1、正常拉取
          • A、工具栏
          • B、项目右键
        • 2、冲突解决
          • A、工具栏
          • B、项目右键
      • 5、推送远程(Push)
  • 三、高级使用
    • 1、IDEA不想push所有commit
      • 1、撤销提交(undo commit)
      • 2、重置HEAD
    • 2、忽略git管控文件
    • 3、合并本地分支

一、Git

1、Git下载(Win)

1、官网:https://git-scm.com/download/win;这个可能会有点慢;

2、淘宝镜像:http://npm.taobao.org/mirrors/git-for-windows/。

2、Git安装

可以直接一路next.

3、项目克隆

IDEA使用Git大全_第1张图片
IDEA使用Git大全_第2张图片

二、IDEA

1、配置git

IDEA使用Git大全_第3张图片

2、使用

(请先看文档,再实际操作)

企业项目在git代码托管中心一般会有多个分支(常见:master(主分支)、develop(开发分支)、release(测试分支))

1、克隆代码

IDEA使用Git大全_第4张图片IDEA使用Git大全_第5张图片

从码云(3个分支)上获取的代码,在本地仓库只会默认新建master分支,并且指向远程仓库的masterIDEA使用Git大全_第6张图片

2、新建分支

为了与主分支代码区分开来,在本地新建一个develop分支,后续的所有开发,都在本地develop上进行,并且提交到远程的develop分支。切记提交远程分支时需要注意,本地的分支与远程分支的对应关系一定要弄清楚,不然一旦提交,初始接触git回滚会比较麻烦,不要问我为什么会清楚。。。

2.1、新建本地分支IDEA使用Git大全_第7张图片
IDEA使用Git大全_第8张图片

可以看到IDEA当前本地分支已经变为了develop,如果新建分支名称时未勾选“签出分支”,则本地分支还是master。IDEA使用Git大全_第9张图片

可以看到已新建本地develop分支,但它并没有与远程分支相关联IDEA使用Git大全_第10张图片

2.2、更新本地代码IDEA使用Git大全_第11张图片

2.3、关联远程分支

提示无法更新,需要远程分支IDEA使用Git大全_第12张图片IDEA使用Git大全_第13张图片

此时可以看到本地develop分支已与远程develop相关联IDEA使用Git大全_第14张图片

上述2.1、2.2、2.3步骤可以融合为下面一步(上面说了要先看文档,再实际操作吧,就当加深操作记忆啦)IDEA使用Git大全_第15张图片
IDEA使用Git大全_第16张图片

3、切换分支

默认是master分支IDEA使用Git大全_第17张图片

选择要切换的分支,点击checkout(签出)即可切换成对应分支IDEA使用Git大全_第18张图片
请添加图片描述

4、代码拉取(Pull)

IDEA使用Git大全_第19张图片
IDEA使用Git大全_第20张图片

1、正常拉取

A、工具栏

该功能只能拉取与本地分支关联的远程分支,及远程develop请添加图片描述
IDEA使用Git大全_第21张图片IDEA使用Git大全_第22张图片

B、项目右键

IDEA使用Git大全_第23张图片IDEA使用Git大全_第24张图片

2、冲突解决

GIT如果本地有文件改动未提交,且该文件和服务器最新版本有冲突,pull更新时会提示错误,无法更新。

A、工具栏

IDEA使用Git大全_第25张图片
IDEA使用Git大全_第26张图片
IDEA使用Git大全_第27张图片
本地代码还待提交到远程IDEA使用Git大全_第28张图片

B、项目右键

IDEA使用Git大全_第29张图片

直接拉取会失败,这种拉取会直接覆盖本地代码,IDEA无法承担这种损失,需要手动处理请添加图片描述
解决方式一:将本地代码commit到本地仓库,然后再进行拉取IDEA使用Git大全_第30张图片
IDEA使用Git大全_第31张图片
会出现冲突解决弹框,冲突解决后IDEA会自动提交到本地仓库,只需要提交到远程分支即可。IDEA使用Git大全_第32张图片
但是这种push到远程分支会出现一些讨人厌的冲突解决信息,虽然不影响功能,但对提交日志来说很烦。IDEA使用Git大全_第33张图片

方案二IDEA使用Git大全_第34张图片IDEA使用Git大全_第35张图片
拉取远程分支
IDEA使用Git大全_第36张图片
IDEA使用Git大全_第37张图片
IDEA使用Git大全_第38张图片
IDEA使用Git大全_第39张图片IDEA使用Git大全_第40张图片
冲突解决后,IDEA不会自动提交到本地仓库,需要自己进行提交,然后再远程推送。

方案三:添加拉取参数,其效果与工具栏的拉取一致请添加图片描述IDEA使用Git大全_第41张图片
IDEA使用Git大全_第42张图片
IDEA使用Git大全_第43张图片

5、推送远程(Push)

在往远程分支推送时一定要要保持本地代码与远程代码的版本是一致的,即需要在push前pull(解决掉冲突,推送基本一步到位,不太会出现问题)。顺序:先pull、再commit、最后push。请添加图片描述
commit分为受git管控的文件,与不受git管控的文件,按实际需要进行文件选择。IDEA使用Git大全_第44张图片
push是可以选择远程分支的,最好本地是哪个分支,就推送到远程哪个分支。IDEA使用Git大全_第45张图片
IDEA使用Git大全_第46张图片
项目右键commit、push,效果与工具栏commit、push一致。IDEA使用Git大全_第47张图片
IDEA使用Git大全_第48张图片

三、高级使用

1、IDEA不想push所有commit

IDEA使用Git大全_第49张图片

1、撤销提交(undo commit)

找到本地分支的日志记录,找到最新提交记录,右键进行撤销提交。这种方法只能撤销最新的提交记录,其余的提交记录是灰色,不能执行,需要多次执行。IDEA使用Git大全_第50张图片
IDEA使用Git大全_第51张图片
再次推送,即少了一条提交记录IDEA使用Git大全_第52张图片

2、重置HEAD

该方法是指将本地分支重置到某一具体版本IDEA使用Git大全_第53张图片
指定重置提交,根据本地提交日志,从上往下以0、1、2、3…依次编号,假设要重置到测试2即:HEAD~1,测试3就会取消提交,如果重置到HEAD~2,就会取消测试2,测试3的提交

关于重置类型:

–mixed

意思是:不删除工作空间改动代码,撤销commit 和 撤销git add . 操作,回退到工作区;

–soft

意思是:不删除工作空间改动代码,撤销commit,不撤销git add . 操作;

–hard

意思是:删除本地改动代码,撤销commit,撤销git add . 慎用。IDEA使用Git大全_第54张图片
另一种重置途径:IDEA使用Git大全_第55张图片
IDEA使用Git大全_第56张图片
在推送时已经没有提交信息IDEA使用Git大全_第57张图片

2、忽略git管控文件

安装ignore插件IDEA使用Git大全_第58张图片
新建git忽略文件IDEA使用Git大全_第59张图片

3、合并本地分支

目标:将本地hot-fix分支合并到本地develop分支

IDEA选择的分支一定是develop分支,
IDEA使用Git大全_第60张图片
选择需要合并的分支即hot-fix进行合并
IDEA使用Git大全_第61张图片
合并后可删除hot-fix分支,不然在hot-fix分支上的修改后续会自动合并到develop分支。
IDEA使用Git大全_第62张图片

你可能感兴趣的:(Java,intellij-idea,git,github)