本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtube 频道。另外,想追踪更多相关技术资讯,欢迎到 脸书粉丝专页 按赞追踪喔~
开发程序过程中,「备份程序码历程」是开发过程中很重要的一环,KT 在学生时代,萌懂刚开始自学程序时,备份方法是将整个资料夹目录,复制一份且在目录内留下类似「重要」、「读我」、「先看我」、「修改记录」的 txt 小记事本档案,里面文字说明这次修改了哪些内容,为什麽修改。然後将整个资料夹目录打包,压缩成zip档。用 「奇摩」 信箱,附件方式,寄一份给自己。如果当下版本有问题,就回去调纪录查看,是哪一版出错,回溯到那一版,长时间下来,累积了很多重复的档案很占空间,这样的备份程序码方式,存在很多问题,且管理版本上很没有效率。如果你目前也是用类似方式「备份程序码」,这时 KT 强力推荐,一定要改用 git 来更有效率的备份管理程序码。git 也是身为程序设计师,一定要点满属性的基本技能之一。
git 只记录你修改过的档案资料,不会每次修改纪录都整包所有资料复制一份,如此一来大大的节省很多储放空间。
git 可以很快速搜寻到,你提交(commit)留下的讯息,什麽时间点修改了哪些内容,哪几只档案。
git 可以很快速切换到特定时间上的版本,或是只取出过往你想要的特定几只程序档案,不用全部还原,不用面对要一切都要打掉从头开始的命运。
git 超强大的整合程序码功能,相当适合,多人开发的专案。
KT 强烈良心建议,将程序码档案放在云端,不要将档案放在个人电脑硬碟里。因为谁都很难保证,自己的电脑万年不坏,人品很好,资料不会全部消失。 KT 曾有过亲身经历,切身之痛,在预计缴交完工专案前一刻,电脑突然闹脾气,完全开不了机,那次惨痛经验後,打死不论如何都要把程序提交到远端备份,多一份安全保障。不然真的会欲哭无泪,叫天天不应,叫地地不灵。
程序码储存库托管服务,专案属性,主要分为 public 和 private
public 公开专案:
所有人都可以看到程序码,适合开源跟大家分享自己的程序码,可以选择谁可以 commit 提交修改程序码。
private 私有专案:
非公开,仅自己或工作群组可以查看或 commit 提交编修的程序码。
坊间常使用的程序码代管服务有:GitHub、Gitlab 和 Bitbucket。
过往 GitHub 私有专案是需要额外付费。从 2019年1月7日起,设定不公开程序码,无限的私有专案,已经不用在额外付费,很多知名热门的开源软件,程序码都放在 GitHub 代管服务网站。
附带一提,GitHub 星星,有点类似脸书按赞 Like 的意思。
自从 GitHub 被微软收购後,大家纷纷逃难到 Gitlab。Gitlab 同样且提供无上限的公开与私有专案。
老牌免费无上限的私有专案,但免费限制仅供有8个人使用,若要更多人使用。则需要额外付费。所以被後起之秀 Gitlab 超越。
git 除了很帅,入门门槛较高的命令工具方式外,目前业界,普遍都会使用 Sourcetree 较平易近人友善的的图形化介面来操作 git。
其他 git gui 图形化介面工具软件选择:GitKraken、SmartGit、GitHub Desktop、TortoiseGit(俗称:小乌龟)
加入 .gitignore,将不必要的专案环境参数设定档给过滤掉 Android.gitignore
本机端个人电脑只是开发暂放用,真正的程序备份务必存放在远端。KT 推荐使用 Github 或 Gitlab 程序码托管服务。
Android Studio 目前提供良善整合 git 服务,且可以轻松将专案上传到 Github
详细 Git flow 流程图
此图片取自:git - 维基百科
git 真的可以很方便灵活备份程序码来做使用,以这次铁人赛「口罩地图」专案来说,KT 将每一篇文章有实作内容的结果,放在各分支上。如图:
为什麽会这麽做的主要原因是,这样对於不熟悉 git 操作的同学们,可以直接下载每篇文章实作的结果,所以若该篇文章有实作,KT 会在文章最前面放置,该文章实作出来结果的下载点,如:
范例名称:初始专案
开发人员:HKT (侯光灿)
程序语言:Kotlin
开发环境:Android Studio 4.1.1 & Android 11 & Kotlin 1.4.21
授权范围:使用时必须注明出处且不得为商业目的之使用
范例下载点:点我下载
范例下载点,点击下载之後是一个 zip 压缩档,同学们不会因为不晓得怎麽操作 git 而远离这系列文章。zip 压缩档,直接解开後,透过 Android Studio 去开启专案目录即可以去做使用。重点如果该程序码有错误或需要进行更新与维护,KT 直接提交程序码到 github ,下载点连结不变,同学下载後即可以获取到最新程序专案。不用每次更新都要自己手动重新打包压缩档,然後上传到新载点,然後重新通知发布更新下载点。git 是不是很方便呢?
HKT 线上教室
https://tw-hkt.blogspot.com/
Freepik
https://www.freepik.com/
Pro Git - 免费线上电子书
https://git-scm.com/book/zh-tw/v2
git - 维基百科
https://zh.wikipedia.org/wiki/Git
GitHub - 维基百科
https://zh.wikipedia.org/wiki/GitHub
那今天【iThome 铁人赛】就介绍到这边罗~
顺带一提,KT 线上教室,脸书粉丝团,会不定期发布相关资讯,不想错过最新资讯,不要忘记来按赞,追踪喔!也欢迎大家将这篇文章分享给更多人喔。
我们明天再见罗!!!掰掰~
>>: @Day7 | C# WixToolset + WPF 帅到不行的安装包 [自订页面-增加自订页面]
图片来源:https://unsplash.com/photos/PeUJyoylfe4 终於来到...
前言 昨天讲了 display 当中的 Flex 属性 那今天就要来讲 display 当中的 Ju...
皮肤美化 ( 消除痘痘 ) 教学原文参考:皮肤美化 ( 消除痘痘 ) 这篇文章会介绍使用 GIMP ...
Kafka 简单来说,我们可以称後端和後端之间沟通的桥梁称为Middleware,就如我们的Lab,...
留意到不少同学对於 ICT 读甚麽感到好奇,今天就跟大家分享一下中学ICT的课程分享~ DSE IC...