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 試試看︰
首先輸入 Repo 名稱,雖然可以直接按【Create repository】,但最好加一個 lincense、.gitignore 及 README.md 比較好。
- README 是用 Markdown 寫,這裡有官方的介紹。
https://guides.github.com/features/mastering-markdown/ - .gitignore 是上下傳時,需要無視的檔案,看你要寫的 project,拿合適的來用就好 (可落 Filter 做選擇)。
- License 推薦用 Apache License 2.0。假如想其他人強制分享 source code,落 GNU General Public License v2.0比較好。
https://choosealicense.com/appendix/
設定 Eclipse
從 GitHub 跳回 Eclipse 做設定。忘記了 Workspace、Perspectives 及 View 是什麼,請參考這裡。
開個新的 workspace,叫【GitHub_Workspace】。
【Windsow】 --> 【Show View】 --> 【Other】。
把 git 的 view 開出來。我是在 Java 這個 Perspective 中新增 view 的。
第一階段設定完成。
———————————簡易的分隔線————————————
設定 SSH 登入
【Window】 --> 【Preferences】,之後看圖……
其實最好有 Passphrase 保護,key 被偷又好,跌了又好,都有個保障。不過這是示範用的,想方便上 GitHub 而不用打密碼,所以我就不設定了,這回按【OK】。
這個視窗好像只有 windows 才會有,liunx 的話好像會預定建好 .ssh 這個資料夾。我用 windows 的,所以按【OK】建立一個新資料夾。
沒什麼特別,改一個好記一點的名字存檔,以便尋找。
別把 Private key 忘記放在那裡,也不要把 Private key 交給不信任的人,Private key 跟保險庫鎖匙同等重要,很重要所以說三次!
真的記不住 ssh key 存放位置,回上一個 tag 的【General】看一下路徑吧。
———————————簡易的分隔線————————————
設定 GitHub 的 ssh
在【Key Management】那頁,跟圖的指示做…‥
複製 Public Key。
跟圖示步驟,把 Public key 貼上去就可以,最後按【Add key】。
輸入密碼確定。
設定 Repo 用 SSH 完成!那個 Fingerprint 回到 Eclipse 會再看到一次。
回到 Repo 的主頁,把 ssh 的登入連結 copy 下來。
———————————簡易的分隔線————————————
設定 EGit
首先 定義自己。按【Window】-->【Preferences】,然後看圖,Key入【user.name】,Value入【顯示你的名字】。
再次【Add Entry】,今次 Key 入【user.email】,Value入【你的 E-Mail】。
———————————簡易的分隔線————————————
Clone Repo ( 設定 Upstream )
回到 Eclipse 後,在左下角位置,按【Clone a repository】。假如不成功的話,要回到 GitHub 再 copy 一次 ssh 登入連結。
Protocol 那欄選【ssh】,上面的URI會自動變成用ssh連接的格式,然後按【Next】。
出現了!那個 RSA key fingerprint 應該跟 GitHub 那個一樣,按【Yes】。
【Yes】。
小試牛刀,沒有其他的 branch,按【Next】。
注意!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】
沒有留言:
發佈留言
設有留言驗證及審查,檢閱後,才會顯示留言。
本人惰性很高,留言或許會石沉大海。