不知道大家平时是怎么学习的,是不是也会边学边跟着敲代码呢?
说来惭愧,我一直是个非常懒的人,尤其是学习新知识的时候,我通常只是呆呆地看着,想通了也就过去了,不会动手去验证老师说的正确与否。等到我工作大半年后才意识到,很多知识点我虽然懂,但是用不出来,原因就出在平时只是一味地看,却没有动手去验证。正所谓“纸上得来终觉浅,绝知此事要躬行”,古人诚不欺我也…
后来我琢磨出了一个办法,用来对抗遗忘曲线:
- 写博客记录
把代码存云端(码云/Github)
写博客更像是对知识点的整理与内化,每次写完博客才觉得自己真正掌握了这个知识点。关于写博客的好处之前已经提过了,有兴趣的朋友可以去看看写博客对程序员很重要吗?
2019年开始,专栏的文章开始改变,减少了示意图,增加了代码片段。两个目的:
- 方便大家拷贝练习(本质是希望大家跟着做)
- 方便自己工作时直接拷贝,节省时间
那么,就会产生一个问题:
练习结束后,这些代码放哪?自己的电脑和公司电脑来回切换还要拷来拷去,挺麻烦的。
欢迎大家使用Git+码云,走到哪敲到哪,记录自己的成长轨迹~从去年开始我坚持每周敲点代码上传,算是打卡吧。
这篇文章并不打算教大家如何使用Git,而是介绍如何学习Git。
基本流程学习
对于Git,它不像其他编程技术,我们不需要理解原理,就一个字:用。
不推荐大家一上来就看视频学习,效果很差。最好先按下方步骤动手操作一下,积累疑问再去学习。
在学习之前要明确:
- 优先学习IDEA的Git操作。Git命令行固然重要,但界面操作更方便省心,基本能应付工作
- 学会IDEA操作Git的基本流程后再学习Git命令行会事半功倍,因为有画面感,还有对比
在学习IDEA操作Git前,要搞明白下面这张图,它解释了Git提交/更新代码的流程。搞懂它那么Git学习就完成了20%:

你可以暂时理解为:
- 工作区、暂存区、本地仓库都在你的电脑上,码云就是远程仓库
- 工作区可以暂时理解为IDEA(其实不是),后面学习视频时会解释
- 暂存区不用理会,虽然有其他用处,但是目前可以理解为缓存即可
- Git的提交分为两个阶段:提交到本地仓库,然后才能提交到远程仓库(码云)
- 平时只需关注本地仓库、远程仓库,其他不是很重要

好了,试着边百度边操作,把下面流程走一遍:
安装Git
百度Git,下载软件后选择目录安装,一路Next即可。
IDEA关联Git
在IDEA中关联刚刚安装的Git。这一步其实和IDEA关联本地安装的Maven一样。
注册码云、新建仓库
首先,请大家去码云注册一个账号,个人觉得挺好用的,相当于中国版Github。虽然比不上Github热闹,但是用来存代码足够了,而且支持private私有仓库,还挺好的。
https://gitee.com/
然后在个人主页左下角选择新建仓库:


本地新建IDEA项目,敲几个Java类
此时你的IDEA导航栏是没有这些图标的:
因为当前项目还不是一个Git项目。
git init创建本地仓库
mac用户可直接在IDEA下方的Terminal输入git init:
windows用户好像不行,只能去到项目所在文件夹的根目录,然后在窗口的地址栏输入”cmd”回车调出命令行窗口,输入git init:
git init命令会在当前项目根目录创建一个隐藏文件,把当前项目变成一个Git项目进行版本管理:
mac用户可以通过command+shift+.查看。
此时回到IDEA你会发现导航栏有图标了:
配置远程仓库地址
你要把代码最终提交到码云,那么必须把仓库地址配置给IDEA(只作用于当前项目)。在任意处右键:

配置.gitIgnore文件
随便选择两个gitIgnore模板

后面有别的要求自己加,比如:target/
为什么要配置.gitIgnore?因为像.class这样的文件是没必要上传到仓库的,浪费空间。通常只上传源码即可。
顺便提一句,创建SpringBoot项目有三种方式:
- 通过spring.io官网,下载压缩包后解压导入(不推荐,麻烦)
- IDEA直接创建SpringBoot项目(Spring initializr,会自动创建一大堆东西,包括.gitIgnore)
- 创建Maven项目,手动引入SpringBoot依赖(个人比较喜欢这种)
提交代码到本地仓库
点击提交代码到本地仓库,或者使用快捷键(mac: command+k)

先别急着Commit。既然上一步操作我们配置了.gitIgnore文件,刚好来观察一下这个文件是否起作用。
观察步骤:
- 编译当前项目
- 尝试提交代码到本地仓库,发现只有src下的源码和配置文件。关闭窗口,放弃提交。
- 回到project,动手更改.gitIgnore的个别过滤规则,比如删除*.class再提交。这次.class文件也被提交了。
提交到远程仓库

或者快捷键提交:command+shift+k(mac)
经过以上操作,相信已经积累了不少疑惑。开始一边看视频一边实操。
为当前项目打标签
往小了说,比如你现在在敲乐优商城,刚结束day11的代码。你想给当前代码留个“快照”,以后可以恢复。
往大了说,公司项目开发会发布版本v1.0 v2.0,也可以用标签。
标签和分支不是一个概念。比如你有master分支,今天可能只写了Hello.java,你为当前状态打了一个标签v1.0,提交了代码,也提交了标签。第二天你新增了一个World.java,提交到master分支。此时的master分支已经和昨天的master分支不一样了,但是你在另一台电脑上下载v1.0标签,它的代码还是只有Hello.java。
也就是说,分支是动态的、变化的,而标签把代码状态留在了那一刻。
创建标签的步骤:
git tag [tagName]git push origin [tagName]


具体细节大家看视频时留意一下。
视频推荐
个人认为目前培训班最好的Git教程是这个:2019-黑马Java最新Git教程
不过他是先讲命令行,再讲IDEA,前面可能有点难,尤其分支、合并等概念。
记得做笔记,自己能看懂即可,工作中用到了看一下即可。
命令行练习
码云网站底部有:

还是闯关解锁模式,不错哦:
命令行练习

