2017年8月7日星期一

GitHub 及 EGit ( PART 2 / 8 ) + 網絡素養

接上回【GitHub 及 EGit ( PART 1 / 8 ) + 信息安全

Open source 像桃園鄉的理想世界。現在最紅,應該是 Git 這套工具,只持有工具是沒用,背後那一套【遊戲規則】及【遊玩方法】才是重點,除了這兩點外,還有【場地】這個考量,自家建設 Git 伺服器,還是用 GitHub 這個【場地】。

在自己主場,怎做怎玩都可以,別人來玩也得遵守你的【遊戲規則】及【遊玩方法】。不過在 GitHub 這公開場地,不用遵守公家【遊戲規則】及【遊玩方法】的話,不是不行,只是沒人有興趣陪你玩,到頭來只是活在只有自己一個人 Open source 世界 …… 沒有意義。

==================網絡素養 ( start )==================

即使再自由,還是有規則要遵守,不能為了自己自由去踐踏別人自由。這是基本中的基本,必要的網絡素養——包容及尊重,然後是溝通,最後才輪到運用 Git 及方法。

包容


回想一下自己是怎樣走過來,每個人都是由什麼都不會的菜鳥開始,累積知識、經驗及人生閱歷變成老鳥,包容新手偶然白目,耐心指點對方,該要有這種器量。

教導他們別做伸手黨,輕鬆問一句,直接拿到辛苦考究得來的答案,把別人的努力當做什麼。分享這種事,不是理所當然,既不是責任,也不是義務,交流建立於互惠互利,有分享也希望有回應及建議,有求於人,拿點誠意出來是當然的 ( 拋磚引玉 )。

以下必讀,地球人必讀之一!

提問的智慧 (翻譯)
https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way

How To Ask Questions The Smart Way (原版)
http://www.catb.org/~esr/faqs/smart-questions.html

尊重


要取得別人合作,讓人感到興趣,可以是金錢,可以是利益,也可以是挑戰。 Open Source 世界,很少涉及金錢及利益,能用的籌碼只餘下挑戰這個選項。像興趣一樣的項目,沒有責任及義務,一開始就鄙視別人的話,那有可能吸引人合作。學會欣賞別人,聽取建議,彌補自身不足,促進技術成長,又或者接受別人幫助,分工合作,專注於自己擅長領域。

一百個人有一百種想法,說服及改變他人是困難的事,把自己想法硬套在別人身上,是傲慢,接受不同想法及觀點,有利從不同角度去思考問題,真的接受不了,沒問題,無視就好,Open Source 世界有個地方好——【合則來,不合則去】,別人的項目,可以 frok 一份出來自己做。

與人交流,純技術是無法與人打交道,多少學一點禮儀及態度是必要。總言之,只要公開跟人分享,在 GitHub 這個版本控制(Revision control)平台上,就有一定要有網絡素養,才發揮得好。

==================網絡素養 ( end )==================

建立 Repositories ( Repo, Git command )


不登入︳什麼都不用做

Repositories 這個字太長,簡稱 Repo 就好。建立 GitHub 帳號後,先建立一個 Repo 試試看︰

GitHub 建立新 Repo

首先輸入 Repo 名稱,雖然可以直接按【Create repository】,但最好加一個 lincense、.gitignore 及 README.md 比較好。
———————————簡易的分隔線————————————

設定 Eclipse


從 GitHub 跳回 Eclipse 做設定。忘記了 Workspace、Perspectives 及 View 是什麼,請參考這裡

開一個新的 workspace 來放 open source 程式碼

開個新的 workspace,叫【GitHub_Workspace】。

已前的教學有寫過,這裡重覆一次

【Windsow】 --> 【Show View】 --> 【Other】。

最主要用這兩個,其餘的 View 沒用過

把 git 的 view 開出來。我是在 Java 這個 Perspective 中新增 view 的。

還差最後一步就設定完成

第一階段設定完成。

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

設定 SSH 登入


Eclipse內建的Key Generator

【Window】 --> 【Preferences】,之後看圖……

我惰性太高,沒設密碼

其實最好有 Passphrase 保護,key 被偷又好,跌了又好,都有個保障。不過這是示範用的,想方便上 GitHub 而不用打密碼,所以我就不設定了,這回按【OK】。

看過就算了、別在意

這個視窗好像只有 windows 才會有,liunx 的話好像會預定建好 .ssh 這個資料夾。我用 windows 的,所以按【OK】建立一個新資料夾。

說明能吃的嗎

沒什麼特別,改一個好記一點的名字存檔,以便尋找。

很重要,所以要說三次

別把 Private key 忘記放在那裡,也不要把 Private key 交給不信任的人,Private key 跟保險庫鎖匙同等重要,很重要所以說三次!

都說過很重要的吧

真的記不住 ssh key 存放位置,回上一個 tag 的【General】看一下路徑吧。

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

設定 GitHub 的 ssh


回去 GitHub 設定 ssh 之前,先把 Public Key 抄出來。

忘了說,其實在之前可以先抄一下,不用做這步

在【Key Management】那頁,跟圖的指示做…‥

複製都不會,還是先去學一下電腦怎用

複製 Public Key。

有點複雜呢

跟圖示步驟,把 Public key 貼上去就可以,最後按【Add key】。

忘了密碼,我也幫不了你

輸入密碼確定。

高興吧!最煩的步驟都完成了

設定 Repo 用 SSH 完成!那個 Fingerprint 回到 Eclipse 會再看到一次。

可以用記事本把 copy 的東西貼上再 save 起來

回到 Repo 的主頁,把 ssh 的登入連結 copy 下來。

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

設定 EGit


別亂設,這個跟個人名片有得拼

首先 定義自己。按【Window】-->【Preferences】,然後看圖,Key入【user.name】,Value入【顯示你的名字】。

別人能不能找到你,就看這個了

再次【Add Entry】,今次 Key 入【user.email】,Value入【你的 E-Mail】。

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

Clone Repo ( 設定 Upstream )


除了source code,連git的其他東西都載回來

回到 Eclipse 後,在左下角位置,按【Clone a repository】。假如不成功的話,要回到 GitHub 再 copy 一次 ssh 登入連結。

這裡的ssh等於以前的【ssh + git】

Protocol 那欄選【ssh】,上面的URI會自動變成用ssh連接的格式,然後按【Next】。

知道就好,沒什麼特別


出現了!那個 RSA key fingerprint 應該跟 GitHub 那個一樣,按【Yes】。

有沒有勇者選【No】看看

【Yes】。

什麼是branch?以後再說

小試牛刀,沒有其他的 branch,按【Next】。

把 EGit 的說明書有寫過吧

注意!Directory 那欄要小心,那是分享出去的 workspace 位置,在建立 Local Git Repo 時,會把原本的 project 抄到 git 那裡去。轉去其他的 workspace 時,別問我為什麼 project 會不見,該去檢查一下,是否在 git 那個 workspace。

【Clone submodules】那個,現在沒有用,不打勾也沒問題。

看不懂沒關係,下一回會說

Egit 與 GitHub 的連接設定完成!之後就看你想怎樣。
  • 把 GitHub 的 project 倒出來,clone 到 Eclipse。( 其實去到這步,已經 Clone 到 Working Tree 那裡,現在只差 Import 到 Eclipse workspace )

  • 把已經寫好的 project 灌進 GitHub。( 之前寫好了 HomeWork 這個例子,可以把這個 Push 到 GitHub )。
———————————簡易的分隔線————————————

下一回【GitHub 及 EGit ( PART 3 / 8 ) + Git Staging

沒有留言:

發佈留言

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