Java开发者-Git使用

Java开发者-Git使用

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

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


一、 克隆代码

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

Idea启动页面
通过【Check out from Version Control】
这里写图片描述

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

这里写图片描述

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

这里写图片描述

克隆完成,会提示是否打开刚刚克隆的项目。确认打开后会进入项目目录。
这里写图片描述

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

新建

在项目栏,右键单击弹出对话框中选中新建一个文件,输入Test.md(.md是支持Markdown语法的文件)
这里写图片描述

文件新建后,文件的名称的颜色是绿色的,表示文件已经被加入【暂存区】
这里写图片描述

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

修改

修改后的文件,颜色会变成浅蓝色,代表文件已改动。
这里写图片描述

提交到本地仓库

右键单击文件,选择【Git】-》【Commit File】,提交文件到本地仓库。
这里写图片描述
这里写图片描述

提交到远程仓库

右键点击文件或者项目,选择【Git】 -》【Repository】-》【Push】,推送代码到远程仓库。
这里写图片描述
这里写图片描述

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

四、新建分支 & 切换分支

新建分支

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

新建的版本默认是在本地仓库中,如果要提交到远程仓库,需要通过【Git】中【Push】推送到远程分支,在远程库中才能看到新的版本。
这里写图片描述

切换分支

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

五、更新代码与代码合并

更新代码

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

pull拉取代码,可选择多个版本,将多个版本的内容直接合并,如果版本内容有区别,会提示合并。
这里写图片描述

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

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

解决方案是

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

这里写图片描述
fetch获取当前代码最新版本,只针对当前版本,如果版本内容有区别,会提示合并。
这里写图片描述

合并代码

选择【Merge…】后,会进入合并窗口,中间是结果窗口,两边一个是本地仓库内容,一个是远程仓库内容,根据最终需求,进行合并。
这里写图片描述

合并完成后,点击【Apply】确认合并结果,在当前代码【暂存区】,就是最新的代码
这里写图片描述

然后通过【Git】的【push】功能,将代码提交到远程仓库,在提交页面,如果想将【暂存区】内容直接推送到远程仓库,可以选择【Commit and Push…】选项,Idea会将内容直接提交到【暂存区】,然后弹出对话框提示推送内容到【远程仓库】
这里写图片描述

这里写图片描述

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

六、添加标签

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

这里写图片描述

这里写图片描述

七、撤销提交和回退

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

撤销

如果我们发现某个文件或者项目中的修改是多余的,可以直接选中文件进行恢复。文件将恢复到当前版本远程仓库中的内容一致。
这里写图片描述

这里写图片描述

回退

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

当然,还有一种回退方式是通过恢复实现,【Revert Current Branch to Here】,选中对应的版本,将当前版本恢复到选中版本。
这里写图片描述

这种方式恢复会提示需要选择恢复类型:
这里写图片描述

类型说明
Soft回退至某个版本,只回退commit信息
Mixed回退commit,保留源码,默认方式
Hard彻底回退至某个版本
Keep彻底回退至某个版本,会保留本地的修改
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值