2018年1月16日星期二

GitHub 及 EGit ( PART 7 / 8 ) + GitHub 介面及功能

接上回【GitHub 及 EGit ( PART 6 / 8 ) + Git Conflict

在申請 GitHub 時,有簡單介紹過介面
https://javatoybox.blogspot.hk/2017/07/github-egit-part-1.html

現在介紹,是真正使用 GitHub 的介面。最基本的 Setting、Fork、Issues 及 Pull requests 介面操作詳盡介紹,而其他功能及介面教學,或許以後再補上。

profile 介面
  1. GitHub profile 網址,格式是 https://github.com/[你的GitHub帳號]

  2. 顯示現在有多少東西,Overview 不能同時顯示 100 個 repositories 吧?所以才會縮成一個數字及 menu。

  3. 個人簡介 ( profile ),包括聯絡 E-MAIL、地理位置、現職公司、BLOG之類,可以在 setting 中更改資料,在申請 GitHub 中有說明 setting 位置。

  4. 一年活躍度,一個小格代表一日,越多綠點及越深綠代表越活躍。

  5. 活躍度能造假,所以這年表中可檢視實際上在做了什麼,假如活躍度是「量」,活動年表是代表「質」。

  6. Repo 名稱、簡介及標籤,可以自訂置頂 Repo。
Learn how we count contributions.
https://help.github.com/articles/why-are-my-contributions-not-showing-up-on-my-profile/

———————————簡易的分隔線————————————

Repo 介面

這是點擊進入 Repo 後介面︰
  1. GitHub Repo 網址,格式是 https://github.com/[你的 GitHub 帳號]/[Repo 名稱]

  2. GitHub Repo,往前點擊能回到 GitHub profile 那頁。

  3. Watch / Unwatch,追蹤及不追蹤,這個選項決定在 Email 中收不收到動態,如果不想收到動態的話,可以按 Star,有點像書籤功能。最後是 Fork,以前文章有說過如何另起爐灶,這裡按一下 Fork 就完成,之後將 repo 加 ssh key 及在 Eclipse 設定 Upsteam。不知道如何 Fork?稍後會示範一次。

  4. 現在只需專注有黃色高亮項目,包活 Issues、Pull requests 及 Setting,因為這三項是最常用,之後會簡介選項。

  5. 如果發現感興趣的 Repo,想另起爐灶或使用該 Repo 資源,第一件事,必須看 License沒看到有 License 不代表沒有,可能在 README.md 有寫,或者在每個 source code 檔案備註。除了 contributor 那一項,其餘項目可以 clone Repo 後,在 Eclipse 上查到。

  6. 預設顯示 README.md 內容,所以有甚麼注意事項或必讀資訊,請在 README.md 內寫下,例如版權資訊 ( 雙版權之類 )、技術文件連結 ( 軟件設計結構、UML之類 )、開發者守則 ( issues 該用甚麼 tag,Pull requests 會怎樣 code review ) 及使用手冊連結等等。README.md 內容是跟據現在的 branch 顯示。

  7. branch 預設顯示 master,可以去 setting 更改預設 branch。

  8. clone Repo 及 Download source code 按鈕。注意!Download 只下載現在 branch 的 source code,要拿 tag 了的 source,還是用 clone 吧。
———————————簡易的分隔線————————————

Fork︰


Fork 視圖

在之前 git branch 教學中有提過 GitHub 有個 Fork 的功能,可以把整個 Repo 抄走。現在就試一下這個 Fork。

確定現在的登入帳號及網址

首先,確認登入帳號是否自己網址是否想 Fork 的 Repo
假設現在登入是 testing1232 帳號,要 Fork 的 Repo 是 https://github.com/IntegrityKnight/GitHubGUI

按 Fork

按 Fork,之後會看到一本書跟一個銀叉的圖片,等待完成就好。

Fork 後的畫面

完成 Fork!會看到【forked from IntegrityKnight/GitHubGUI】。
然後在 Setting 設定 SSH key,Clone 到 Eclipse 設定 Upstream

———————————簡易的分隔線————————————

Pull requests︰


PullRequest 圖示

沒有權限寫入對方 Repo 怎麼辦?反過來說,要求對方把自己的代碼加進去不就可以了嗎?【Pull requests】誔生。

選取要修改檔案

做【Pull requests】先決條件是 Fork 了對方的 Repo。如果只是小修小改,不需要 clone 到 Eclipse 修改,用 GitHub 內建文件編輯器就可以。先確認 Repo 及 branch,再去按要修改的文件,例如 index.html。

按修改的圖示

再次確認 Repo 及 branch,去錯 branch 做修改之後改正會很慘,別做傻事,這是直接在 GitHub 上修改的壞處。確定需要修改檔案後,按那個【筆】的圖示。

修改檔案

加了一句【Edit this page after fork on Github text Editor.】。然後打 commit message,按【Commit changes】。

發起 Pull request

修改後,發起一個【New pull request】。

建立 Pull request

再次提醒!別選錯 Repo 及 branch,有方向性的,別選錯!按【Create pull request】,這樣就發了一個【 Pull requests】等對方回應。

———————————簡易的分隔線————————————

Issues︰


Issues 圖示

除了用 E-mail 溝通外,如果有一個像討論區的地方,會不會比較方便呢?

因為要公開討論,比單對單 E-mail 溝通,用討論區多對多形式會更好,而且還附上專用的【引用】、【外掛】之類,因此【Issues】誔生。發揮想像力,【Issues】可以有很多玩法。

About issues
https://help.github.com/articles/about-issues/

發出 Issue︰


發出Issue

先試發一個 Issue 看看。

發 Issue
  1. @ 開頭,可以連結用戶或團隊。

  2. # 開頭,可以連結參考 issue 或 pull request,參考編號是自動遞增不能修改。

  3. ‵ code ‵,方便分隔開 code 及討論的內文,按 Preview 可以看效果。

  4. [網址](url),用網址連結其他的資訊。
發 Issue 的語法是 Markdown,最好學習一下 。在手不離鍵盤的情況下 ( 不需用到滑鼠 ) 做到各種文章格式化,提高效率。

順帶一提,Gitbook 也是用 md ( Markdown ) 編寫,需要大量文字輸入的工作,就不想放開鍵盤,md 正好用來格式化文章,雖然不是萬能,但足夠方便閱讀就好。

Mastering Markdown
https://guides.github.com/features/mastering-markdown/

———————————簡易的分隔線————————————

總結︰


最最最基本的 GitHub 介面已經介紹過,大約知道有甚麼功能,但 GitHub 還不只這樣,世界很寛闊。

進階學習目標

在 GitHub 分了兩批人,一批是貢獻者 ( Contributor ),一批是項目發起人 ( Repo 持有者 )。

現階段作為一個普通的 Contributor 沒太大問題,去參與一些玩具般的項目都夠用。那些需要做 Code review,會用到 CI ( Travis CI 之類 ) 等等,量質高、認真做的項目是例外,需要再進一步學習。

如果是項目發起人,不會把垃圾般的代碼加進自己項目吧?需要額外學一些管理工具及做 Code review,或許以後會補上教學。

下一回【GitHub 及 EGit ( PART 8 / 8 ) + GitHub 完整流程

沒有留言:

發佈留言

設有留言驗證及審查,檢閱後,才會顯示留言。
本人惰性很高,留言或許會石沉大海。