iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0

只是個幫助忙碌的專業人士和父母找回時間、平衡生活的斜槓老爸。 我探索人生的大小賽局,分享優化人生的實用觀點(關於人類、科技和未來)。

在我的個人網站上獲取最新的觀點:https://klkuo.guru


GitHub Logo

GitHub Logo from PNGitem

你可能還沒熟悉 git 怎麼用,沒關係接著才是重頭戲,先來一窺版本管理的最終目的吧。由於操作型的技術文章已經很多,本篇筆記將聚焦 「如何善用遠端儲存庫」

 

為什麼需要遠端儲存庫?

練習版本控制絕非只是為了自己能管理好程式碼,而是與團隊同步專案進度、或與人分享最新版本的作品、也可能是與技術圈共享開源專案。當逐漸熟練在本地環境管理程式碼後,下一步就是要練習使用遠端儲存庫來共享。而在我學習的教材中,使用的是 GitHub 服務。

團隊協作

前一篇,我們提到促進團隊協作也是版本控制的好處之一,透過 GitHub 之類的第三方服務,就能讓團隊建立一個遠端儲存庫,在不影響現有版本穩定運作的前提下,同時進行優化、更新、修錯。

開源專案

當一個專案被開源,這意味着任何人都可以出於任何目的查看,使用,修改和分發你的專案。這些權限通過 開源許可 強制實施。它降低了事物被採納的障礙,允許想法迅速傳播。
from Open Source Guides

GitHub 剛好就是充滿 OpenSource 專案的開源社群。透過開源,發布者得以傳遞美好價值,而共同貢獻的開發者們也能累積戰績、嶄頭露角。

作品集錦

另外,GitHub 也是工程師求職或接案工作者開發客戶的門票之一。上面紮實的作品集,也可以說是開發者的技術履歷。

 

git remote 前要做的事

就像航機出發前,機長必定會先確陣航線、方向等無誤後,才會起飛前往目的地。

同前篇所述,在正式建立遠端儲存庫之前,以下事前準備能協助我們事半功倍。

構思門面呈現

既然他是一個重要的技術履歷,一個令人印象深刻的門面就顯得重要。初步觀察到有兩類 Profile(只是作者主觀分類):

  1. 戰績路線
  • 像出現在活躍排行榜
    Most active GitHub users #1

from Most active GitHub users #1

  • 或者卓越工具的開發者
    Node.js 創辦人 Ryan Dahl

Node.js 創辦人 Ryan Dahl

  1. 精美路線
    WaylonWalker GitHub

from Build a Stunning README For Your GitHub Profile & WaylonWalker GitHub

Ayushi Rawat GitHub

from GitHub Profile README with View Counter &
Ayushi Rawat GitHub

規劃分類架構

另一件我覺得重要的事,就是一個清晰的專案分類架構。因為 GitHub 上可能同時存在,個人作品、開源專案、共享專案等。透過良好的命名及子儲存庫,可以讓專案顯得有條有理。

像我把學習過程中的專案獨立到一個 repo ,讓人一眼可看出哪些是我的獨立作品、哪些是學習期間的作業。

klkuocx GitHub

from 作者的 GitHub

 

git submodule 善用子儲存庫來管理

那究竟子儲存庫 submodule 怎麼使用呢?(其實我也只略知一二)
目前所知可在主專案資料夾下輸入:

git submodule add <main_repository url> <submodule name>

就能夠將該 sub_repository 添加到當前的 main_repository。

細節可以參考這兩篇:

或查看官方文件(研究了很久,但蠻難理解哈哈):Git Tools - Submodules

git push 推上 GitHub 前的注意事項

說了麼多,只要完成相關事前準備,就可以把 local repository 推上 GitHub 了嗎?

在撈叨兩點我自己遇到的小狀況:

確認 local git commit 已整理完畢

在上傳前,請先確認本次的所有更動及 commits 都已經更新完畢,再整批一起推上 GitHub ,可以避免同步後想再更動,而產生額外分支(branch)。

避免 reset 到目前 remote master 的版本

若在本地修改 commit 的過程中,避免 reset 到遠端最新版之前的版本,同樣能避免產生分支。

 


閱讀更多

Infinite Gamer
關於本系列更多內容及導讀,請閱讀作者於 Medium 個人專欄 【無限賽局玩家 Infinite Gamer | Publication – 】 上的文章 《用 JavaScript 打造全端產品的入門學習筆記》系列指南


上一篇
Git 程式碼版本控制 初步上手——全端產品工具箱 II
下一篇
全端開發者必懂的「網路觀念」
系列文
用 JavaScript 打造全端產品的入門學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言