【Android 入門開發實戰:口罩地圖】git 版本控制

【Android 入門開發實戰:口罩地圖】線上免費講義課程目錄

git 時光機

開發程式過程中,「備份程式碼歷程」是開發過程中很重要的一環,KT 在學生時代,萌萌懂懂剛開始自學程式時,備份方法是,是將整個資料夾目錄,複製一份,且細心的在目錄內留下類似「重要」、「讀我」、「先看我」、「修改記錄」的 txt 小記事本檔案,裡面文字說明這次修改了哪些內容,為什麼修改。然後將整個資料夾目錄打包,壓縮成zip檔。用 「奇摩」 信箱,附件方式,寄一份給自己。如果當下版本有問題,就回去調紀錄查看,是哪一版出錯,回溯到那一版,長時間下來累積了很多重覆的檔案很佔空間,這樣的備份程式碼方式,存在很多問題,且管理版本上很沒有效率。如果你目前也是用類似方式,「備份程式碼」,這時 KT 強力推薦,一定要改用 git 來更有效率的備份程式碼。

Git v.s 整份檔案壓縮備份比較

節省大量儲放空間

git 只記錄你修改過的檔案資料,不會每次修改紀錄都整包所有資料複製一份,如此一來大大的節省很多儲放空間。

快速查閱歷史紀錄

git 可以很快速搜尋到,你提交(commit)留下的訊息,什麼時間點修改了哪些內容,哪幾隻檔案。

回溯超方便

git 可以很快速切換到特定時間上的版本,或是只取出過往你想要的特定幾隻程式檔案,不用全部還原,不用面對要一切都要打掉從頭開始的命運。

多人協同開發

git 超強大的整合程式碼功能,相當適合,多人開發的專案。

程式碼儲存庫托管服務

除非必要,不然 KT 建議,將程式碼檔案放在雲端,不要將檔案放在個人電腦硬碟裡。因為誰都很難保證,自己的電腦萬年不壞,資料不會全部消失。

程式碼儲存庫托管服務,專案屬性,主要分為 public 和 private

  • public 公開專案:
    所有人都可以看到程式碼,適合開源跟大家分享自己的程式碼,可以選擇誰可以 commit 提交修改程式碼。

  • private 私有專案:
    非公開,僅自己或工作群組可以查看或 commit 提交編修的程式碼。

坊間常使用的程式碼代管服務有:GitHub、Gitlab、Bitbucket

GitHub

過往 GitHub 私有專案是需要額外付費。從 2019年1月7日起,設定不公開程式碼,無限的私有專案,已經不用在額外付費,很多知名熱門的開源軟體,程式碼都放在 GitHub 代管服務網站。

附帶一提,GitHub 星星,有點類似臉書按讚 Like 的意思。

Gitlab

自從 GitHub 被微軟收購後,大家紛紛逃難到 Gitlab。Gitlab 同樣且提供無上限的公開與私有專案。

Bitbucket

老牌免費無上限的私有專案,但免費限制僅供有8個人使用,若要更多人使用。則需要額外付費。所以被後起之秀 Gitlab 超越。

git 圖形化介面操作軟體

git 除了很帥,入門門檻較高的命令工具方式外,目前業界,普遍都會使用 Sourcetree 較平易近人友善的的圖形化介面來操作 git。

Sourcetree

其他 git gui 圖形化介面工具軟體選擇:GitKraken、SmartGit、GitHub Desktop、TortoiseGit(俗稱:小烏龜)

專案導入版本控制

加入 .gitignore

加入 .gitignore,將不必要的專案環境參數設定檔給過濾掉 Android.gitignore

申請註冊 Github 程式碼托管服務

本機端個人電腦只是開發暫放用,真正的程式備份務必存放在遠端。KT 推薦使用 Github 或 Gitlab 程式碼托管服務。

專案上傳到 GitHub

Android Studio 目前提供良善整合 git 服務,且可以輕鬆將專案上傳到 Github

Git flow 開發流程

Git 就暫時先討論到這邊,KT 未來還會在開一門專門的課程,來詳細跟大家介紹。

參考資料

Pro Git - 免費線上電子書
git - 維基百科
GitHub - 維基百科

那這次的課程就介紹到這邊囉~

順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。

我們下次再見囉!!!掰掰~

這個網誌中的熱門文章

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

nano 文字編輯器

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)

16天記下7000單字

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)