当前位置:   article > 正文

杂记二:IDEA内置git使用教程_idea shelve change

idea shelve change

本文默认已经安装了git和idea,git服务器使用的是github

1、在idea中配置git执行路径

选择 【File】→ 【Settings】→ 【Version Control】→ 【Git】,选择git可执行文件的路径(正确配置的情况下,点击Test会弹出git版本的提示,很快会自动关闭,可能看不清楚)
在这里插入图片描述

2、远程服务器上创建仓库

在这里插入图片描述
在这里插入图片描述

3、使用IDEA中Git工具从远程仓库克隆项目

在这里插入图片描述
一些版本的idea可能使用的是【VCS】–>【Checkout from Version Control】–>【Git】
在这里插入图片描述
clone完成之后会让你选择是在当前窗口打开(会关闭原有项目),还是新建窗口打开,一般选择在新窗口打开。
在这里插入图片描述

4、将项目转换成maven项目(非必须)

这一步骤只针对于clone下来的项目时个空项目或者没有目录结构的项目
在这里插入图片描述
在这里插入图片描述

5、添加文件到暂存区

当我们创建一个文件的时候,idea就会提醒我们是否将文件加入到暂存区
在这里插入图片描述
点击Add就会将文件加入到本地暂存区,如果点击了Cancel,也可以使用下面的的方法添加。
在这里插入图片描述

6、提交到本地仓库

提交的方式有很多种
第一种:VCS–>Commit…
在这里插入图片描述
第二种:右键单击要提交的文件–>Git–>Commit File
在这里插入图片描述
第三种:直接点击下图红框位置
在这里插入图片描述
三种方法弹出的提交页面是相同的
在这里插入图片描述
提交时可能会出现下面的警告
简单来说就是不同操作系统的换行符不一样,具体参考下面:
LF -UNIX或macOS使用,换行符 \n
CR -Classic macOS使用,换行符 \r
CRLF -Windows使用,换行符 \r\n
在这里插入图片描述
查看自己的换行符,一般在idea的右下角
在这里插入图片描述
我的是CRLF,所以我直接点击Commit As Is。

提交完成的文件为白色
在这里插入图片描述

7、推送到远程仓库

在这里插入图片描述
如果是第一次推送会要求登录,这里我使用token登录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
idea提示push成功
在这里插入图片描述
刷新远程仓库
在这里插入图片描述

8、新建分支与分支切换

下面两种方式都可以新建分支

在这里插入图片描述
点击New Branch来创建新分支

在这里插入图片描述
输入分支名称,如果勾选了Checkout branch就会立即切换到新分支

在这里插入图片描述
上一步将当前分支切换到了1.0,需要切换回master,可以使用如下方法
在这里插入图片描述

9、分支合并

现在假设有master、develop、fixbug三个分支,master为主分支已经发布了一个版本1.0(有bug),develop为开发分支(正在开发2.0功能),fixbug用于修复master上的bug。

首先创建develop和fixbug分支,这两个分支都从master创建,方法见8。然后将两个分支都push到远程仓库。
在这里插入图片描述
现在切换到fixbug(方法见8),修复bug。然后提交并推送(方法见6,7)

在这里插入图片描述
然后切换到develop(方法见8),开发新功能添加D.java。同样提交并推送(方法见6,7)

在这里插入图片描述
现在合并master和fixbug完成master分支上的bug修复。

在这里插入图片描述
在这里插入图片描述
此时本地master分支中的A.java就与fixbug中的合并了,然后将master分支推送到远程仓库即可。
在这里插入图片描述
同时还需要将fixbug合并到develop分支,这样develop开发出来的新功能中就不会有老bug。

10、冲突解决

冲突的场景 :

  • 多个分支合并的时候(下边演示);
  • 在一个分支上拉取或推送远程文件时;

在fixbug分支的B.java添加如下内容并推送到远程仓库。
在这里插入图片描述
在develop分支的B.java添加如下内容并推送到远程仓库。
在这里插入图片描述
然后在develop分支上合并fixbug分支,弹出如下窗口。
在这里插入图片描述
这里选择Merge,弹出Merge Revisions窗口
在这里插入图片描述
在这里插入图片描述
然后将结果推送到远程仓库即可
在这里插入图片描述

11、历史提交记录查看

查看文件的历史提交记录
在这里插入图片描述
在这里插入图片描述
查看所有分支的提交记录

在这里插入图片描述

12、版本发布

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
远程仓库中就有tag了
在这里插入图片描述

13、不同版本对比

对单个代码文件的比较,点击文件,右键弹出的菜单选项 → 【Git 】→ 【compare with…】,几个比较方式如下:

  • Compare with the Same Repository Version 当前文件与服务器同一分支上该文件版本的内容进行比较
  • Compare with 当前文件与文件各次提交的版本做比较
  • Compare with Branch 当前文件与其他分支上该文件版本进行比较
    在这里插入图片描述
    在这里插入图片描述

14、版本回退

假设我修改了E.java文件而且已经提交(未推送),现在我需要回退到E未修改时。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
假设我修改了E.java文件而且已经提交(已推送),现在我需要回退到E未修改时。
在这里插入图片描述
此时进行与未推送时的相同操作

在这里插入图片描述
需要推送到远程,可是直接推送会弹出如下窗口
在这里插入图片描述
点击Cancel,使用Terminal强制提交,有的时候使用git push -f会失败,原因是head分支不在当前分支,这时可以使用git push -f origin 本地分支名:远程分支名称

在这里插入图片描述
在这里插入图片描述

15、贮藏

Stash changes(git)

当要从远程拉取代码,但本地又有未开发完成的代码时,可以选择将本地代码贮藏,等拉取完成之后再将贮藏的代码应用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拉取远程代码
在这里插入图片描述
应用贮藏
在这里插入图片描述
在这里插入图片描述
应用贮藏时可能发生冲突,按照第10点冲突解决的方式即可。

Shelve changes(idea特有)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

16、rollback

丢弃修改,回到未修改前的状态
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/469696
推荐阅读
相关标签
  

闽ICP备14008679号