Java开发者-Git使用

Java开发者-Git使用

本文主要是通过Idea工具,讲解Java项目中如何使用Git

  • Java开发者-Git使用
    • 一 克隆代码
    • 二新建修改文件并提交
      • 新建
      • 修改
      • 提交到本地仓库
      • 提交到远程仓库
    • 四新建分支 切换分支
      • 新建分支
      • 切换分支
    • 五更新代码与代码合并
      • 更新代码
      • 合并代码
    • 六添加标签
    • 七撤销提交和回退
      • 撤销
      • 回退

通过Git管理代码的工具和平台有Gihthub、码云、GitLab等,这里我们以码云上的项目为例,模拟公司刚来个开发新人,需要熟悉一下代码,我们就需要将代码的地址给新人的场景,来说明如何使用Git管理项目代码。


一、 克隆代码

克隆代码(下载、复制代码)有两种方式

Idea启动页面
通过【Check out from Version Control】
Java开发者-Git使用_第1张图片

菜单中
在Intellij Idea菜单中,选择【File】-》【New】-》【Project from Version Control】-》【Git】

Java开发者-Git使用_第2张图片

进入克隆版本库提示框
输入项目地址【https://gitee.com/chwshuang/git_demo.git】。点击Test,可测试地址是否正常下载。点击Clone开始下载代码。

Java开发者-Git使用_第3张图片

克隆完成,会提示是否打开刚刚克隆的项目。确认打开后会进入项目目录。
Java开发者-Git使用_第4张图片

二、新建、修改文件并提交

新建

在项目栏,右键单击弹出对话框中选中新建一个文件,输入Test.md(.md是支持Markdown语法的文件)
Java开发者-Git使用_第5张图片

文件新建后,文件的名称的颜色是绿色的,表示文件已经被加入【暂存区】
Java开发者-Git使用_第6张图片

文件位置 文件颜色 说明
磁盘 红色 新建文件,没有暂存,不被Git版本库管理
暂存区 绿色 已加入【暂存区】的文件,Idea默认会把新文件自动加入 【暂存区】
暂存区 浅蓝色 已在【暂存区】但内容有变化的文件
本地仓库 无特殊颜色 文件在【本地仓库】,其他用户在远程仓库看不到你提交的内容
远程仓库 无特殊颜色 文件已经在【远程仓库】,可在远程仓库看到,其他用户可用通过Fetch获取最新内容

修改

修改后的文件,颜色会变成浅蓝色,代表文件已改动。
Java开发者-Git使用_第7张图片

提交到本地仓库

右键单击文件,选择【Git】-》【Commit File】,提交文件到本地仓库。
Java开发者-Git使用_第8张图片
Java开发者-Git使用_第9张图片

提交到远程仓库

右键点击文件或者项目,选择【Git】 -》【Repository】-》【Push】,推送代码到远程仓库。
Java开发者-Git使用_第10张图片
Java开发者-Git使用_第11张图片

这里说一下区别,提交到本地仓库的命令是commit。提交到远程仓库的命令是push。

四、新建分支 & 切换分支

新建分支

在项目右下角的Git:状态栏,点击当前版本【master】, 在新对话框中选中【New Branch】,然后输入新版本名称即可。版本起名一般是以日期、版本内容或者解决的问题名称来命名,这样就能在选择版本的时候,一眼认出对应内容。
Java开发者-Git使用_第12张图片
Java开发者-Git使用_第13张图片

新建的版本默认是在本地仓库中,如果要提交到远程仓库,需要通过【Git】中【Push】推送到远程分支,在远程库中才能看到新的版本。
Java开发者-Git使用_第14张图片

切换分支

在项目右下角的Git:状态栏,可以自由选择分支。不过如果当前分支正在编辑,还有未保存的内容,切换后,编辑的内容可能会带入新分支,也或者丢失。所以,如果需要切换分支时,需要将当前分支改动部分内容提交到本地仓库或者远程仓库。
Java开发者-Git使用_第15张图片

五、更新代码与代码合并

更新代码

如果项目是多人合作,往往需要将其本地代码更新为最新的版本。更新代码有两种方式,一种是pull,从远程仓库将代码拉到本地,另外一种是fetch,获取远程仓库的代码。在idea中,他们是有区别的,pull的时候,可以将另外一个分支更新的内容拉取到当前分支,然后进行合并。而fetch是获取当前版本最新的代码进行合并。
Java开发者-Git使用_第16张图片

pull拉取代码,可选择多个版本,将多个版本的内容直接合并,如果版本内容有区别,会提示合并。
Java开发者-Git使用_第17张图片

如果我们进行pull时,选择了两个版本,pull可能出现【Git Pull Failed】异常,提示你本地仓库有修改的内容没有提交。导致这个问题的原因有以下几种:

本地仓库与远程仓库版本不一致
本地仓库有修改的内容没有推送到远程仓库
要pull拉取的其他版本的本地内容不是最新版本

解决方案是

使用fetch更新本地仓库最新版本
推送本地版本内容到远程仓库
将要pull拉取的其他版本的内容更新到最新版本
将要pull拉取的其他版本本地仓库中未提交的版本推送到远程仓库
根据提示【View them】查看哪些文件需要提交到远程仓库

Java开发者-Git使用_第18张图片
fetch获取当前代码最新版本,只针对当前版本,如果版本内容有区别,会提示合并。
Java开发者-Git使用_第19张图片

合并代码

选择【Merge…】后,会进入合并窗口,中间是结果窗口,两边一个是本地仓库内容,一个是远程仓库内容,根据最终需求,进行合并。
Java开发者-Git使用_第20张图片

合并完成后,点击【Apply】确认合并结果,在当前代码【暂存区】,就是最新的代码
Java开发者-Git使用_第21张图片

然后通过【Git】的【push】功能,将代码提交到远程仓库,在提交页面,如果想将【暂存区】内容直接推送到远程仓库,可以选择【Commit and Push…】选项,Idea会将内容直接提交到【暂存区】,然后弹出对话框提示推送内容到【远程仓库】
Java开发者-Git使用_第22张图片

Java开发者-Git使用_第23张图片

推送完毕后,本地仓库和远程仓库就同步完成,都是最新内容了。

六、添加标签

我们的项目每次上线完成,形成一个稳定可用的版本后,为了更清晰的查看版本状态,可用在【Git】中为最终的版本打上一个标签,比如:v1.0.0,然后将项目推送到远程仓库,推送的时候,选择推送标签选项,这样,远程仓库中就多了一个标签。
Java开发者-Git使用_第24张图片

Java开发者-Git使用_第25张图片

Java开发者-Git使用_第26张图片

七、撤销提交和回退

如果项目在开发中,不小心推送了未验证的内容,而代码已经合并且提交到远程仓库了,这时就需要进行撤销和回退。

撤销

如果我们发现某个文件或者项目中的修改是多余的,可以直接选中文件进行恢复。文件将恢复到当前版本远程仓库中的内容一致。
Java开发者-Git使用_第27张图片

Java开发者-Git使用_第28张图片

回退

如果代码已经合并,且已经提交到远程仓库,这个时候,就需要进行回退,在Idea的左下方,选择【Version Control】,在【log】标签页,选择需要回退的版本,右键单击,选择【Checkout Revision】,即可回退到对应版本。如果版本差异较大,可能还会提示【Force Checkout】强制回退版本和【Smart Checkout】最小损失回退,强制回退不会合并相关内容,最小回退会考虑差异,提示处理。
Java开发者-Git使用_第29张图片
Java开发者-Git使用_第30张图片

当然,还有一种回退方式是通过恢复实现,【Revert Current Branch to Here】,选中对应的版本,将当前版本恢复到选中版本。
Java开发者-Git使用_第31张图片

这种方式恢复会提示需要选择恢复类型:
Java开发者-Git使用_第32张图片

类型 说明
Soft 回退至某个版本,只回退commit信息
Mixed 回退commit,保留源码,默认方式
Hard 彻底回退至某个版本
Keep 彻底回退至某个版本,会保留本地的修改

你可能感兴趣的:(Java开发者,Git)