Web Analytics
Back
Featured image of post Github - 如何建立儲存庫

Github - 如何建立儲存庫

沒經驗的新手也沒問題

本系列文章有參加 2021 iThome 鐵人賽,同步發在自己的部落格,未來更新也會以自己的部落格為主

 

前言

Repository (以下簡稱 Repo儲存庫),包含專案內原始碼或文件與修改紀錄,是一個基本的版本管理單位。GitHub 功能會以儲存庫為主,進而延伸不同的功能,包含

  1. 管理的工作項目
  2. GitAction 進行建置、測試或佈署
  3. 議題討論…等

建立新的儲存庫也是在 GitHub 上的起手式

 

 

開始建立 Repository

點選右上角 + 旁邊的下拉選單,點選 New repository

下圖是 Create new repository 頁面

  • 儲存庫名稱:每個儲存庫的命名方式為 Owner(個人或組織) 名稱 + 自己命名的 Repo 名稱 (如下圖 matsurigoto/MyFirstRepo)

你可以隨時在 Setting 內修改專案為公開或私有,但必須輸入驗證資訊

  • 描述:此儲存庫/專案描述
  • 公開/私有:公開可以讓所有人瀏覽與貢獻,也能享受比較多的功能(如免費的 Action);私有部分只有協作人員有權限可以檢視
  • Add a README file:加入更多說明,以 markdown 格式撰寫,在 Repos 主畫面下方會顯示。多數著名專案會在 README 內加入詳細介紹、如何使用與相關資訊,如下圖 ASP.NET Core Repo:

  • Add .gitignore:(建議勾選)不加入 Git 版本管理的檔案設定,很重要但常常被遺忘。一般來說我們較少將以編譯好的檔案 或 編輯器的組態設定加入版本管理。每個人電腦內的編輯器設定不盡相同,下載別人的編輯器組態意義不大,最終導致每次 pull/push 都增加一筆修改紀錄,增加負擔;而另一方面,編譯出來的檔案也可能因為環境不同而有所以差異。通常我們會加入原始程式碼,透過 CI/CD 工具進行編譯,不讓 “在我環境是沒問題” 的情況反覆產生。 GitHub 很貼心,你可以選擇專案屬性/語言/編輯器類型,在建立儲存庫的時候一併產生 .gitignore

  • Choose a license:告訴其他人,在這個儲存庫內,你能做與不能做的事情

完成輸入後,點選最下發 Create Repository 即可

 

Repository 介面說明

最上方是關於 Repo 的功能,包含建立 Issue(發佈討論)、新增 Pull Request (提交貢獻)、加入 Action(自動化工作)、Project(專案管理功能)、Wiki(知識庫)、Security(安全性設定)、insight(統計相關)、Setting(設置),是較頻繁使用的功能。

右上方為關於此 Repo 的統計,包含 watch: 追蹤 (所有動態、忽略、只有參予此專案或指定時才通知 或自訂追蹤方式) star: 給予肯定,給星星 fork: 將別人的儲存庫複製一份到自己的,就像叉子將桌上的肉取一份到自己盤子

 

編輯方式分成兩種:網頁編輯與 Git 方式編輯 你可以在網頁上直接新增/上傳/編輯儲存庫內榮。當您要對這些儲存庫加入新的內容,可以點選 Add file 加入新的檔案。

每次編修檔案都需要在下方加入 comment,描述這次修改行為。

當你想要編輯檔案,只須點選中間儲存庫內容中要修改的檔案,點選右下角的筆的按鈕,即可編輯。

與新增行為相同的是,每次編修檔案都需要在下方加入 comment,描述這次修改行為, commit 方法有兩種,一種是直接修改至現有分支 (Main);另一種是另開分支,並建立新的 pull request 待 Owner 審核後再合併。正常情況下會以後者方式進行較嚴謹。Pull Request 後續文章會介紹,目前我們先直接修改至分支,

以 Git 方式進行編輯,可以點選 Code 按鈕,以 Git Clone 下載專案,編輯完成後以 Git Push 上傳 (這裡不在贅述,有興趣的朋友可以參考線上 Git 教學。

 

 

總結

GitHub 不僅僅只提供程式開發上使用,近年來也很多教學文件、書籍使用 GitHub 作為協作工具,清楚紀錄每次修正、新版本的歷史紀錄。當文件有誤或有其他建議時,也能透過 Issue/Pull Request 功能進行修正與討論,相當方便,受到不少電子書作者喜愛。

經過本篇文章的介紹,你應該知道

  1. 如何建立儲存庫
  2. 了解建立儲存庫時相關設定
  3. 新增/上傳/修改儲存庫內容
  4. 編修檔案時提交 Git Commit(Comment)

下一篇文章我們將介紹如何提出 issue。藉由 issue 功能,協作人員可以進行討論,審核人員可以將問題進行分類(label)並進行審視。隨著提出與解決 issue 越來越多,進而讓儲存庫內容更加完美完善,形成一個良性的循環。

Built with Hugo   Theme Stack designed by Jimmy