初識Githubnode
GitHub 是程序員的必備技能linux
1.什麼是Github?git
確切的說 GitHub 是一家公司,位於舊金山,由 Chris Wanstrath, PJ Hyett 與 程序員
Tom Preston-Werner 三位開發者在2008年4月創辦。這是它的 Logo:github
2008年4月10日,GitHub正式成立,地址:How people build software · GitHub ,編程
主要提供基於git的版本託管服務。一經上線,它的發展速度驚爲天人,截止目前,GitHub 已經發展成全球最大的開(同)源(性)社區。swift
2.Github和Git的關係?ruby
首先須要知道的一點是:網絡
Git 是一款免費、開源的分佈式版本控制系統,他是著名的 Linux 發明者 Linus Torvalds 開發的。說到版本控制系統,估計不少人都用過 SVN ,只不過 Git 是新時代的產物,若是你還在用 SVN 來管理你的代碼,那就真的有些落伍了。不論是學習 GitHub ,仍是之後想從事編程行業,Git 均可以算是必備技能了,因此從如今開始建議你先去學習熟悉下 Git 。app
而 GitHub 上面說了,主要提供基於 git 的版本託管服務。也就是說如今 GitHub 上託管的全部項目代碼都是基於 Git 來進行版本控制的,因此 Git 只是 GitHub 上用來管理項目的一個工具而已,GitHub 的功能可遠不止於此!
3.GitHub 的影響力
上面我說了 GitHub 如今毫無疑問基本是全球最大的開源社區了,這樣說大家可能認爲未免有點浮誇,且聽我一一舉證:
全球頂級科技公司紛紛加入 GitHub ,並貢獻他們本身的項目代碼
全球頂級開源項目都優先選擇在 GitHub 上開源
全球頂級編程大牛加入GitHub
4.GitHub 有什麼用
開源社區一直有一句流行的話叫「不要重複發明輪子」,某種意義上正是由於開源社區的貢獻,咱們的軟件開發才能變得愈來愈容易,愈來愈快速。試 想你在作項目時,若是每一模塊都要本身去寫,如網絡庫、圖片加載庫、ORM庫等等,本身寫的好很差是一回事,時間與資源是很大的成本。對於大公 司可能會有人力與資源去發明一套本身的輪子,可是對於大部分互聯網創業公司來講時間就是一切。並且你在使用開源項目的過程也能夠學習他們優秀 的設計思想、實現方式,這是最好的學習資料,也是一份提高本身能力的絕佳方式!
若是你想發起一個項目,好比翻譯一份不錯的英文文檔,以爲一我的的精力不夠,因此你須要更多的人蔘與進來,這時候 GitHub 是你的最佳選擇,感興 趣的人能夠參與進來,利用業餘時間對這個項目作貢獻,而後能夠互相審覈、合併,簡直不要太棒!
這個就不用多說了,如今愈來愈多的博客都是基於 GitHub Pages 來搭建的了,你能夠爲所欲爲的定製本身的樣式,能夠給你博客買個逼格高的域名,再 也不用忍受各大博客網站的約束與各式各樣的廣告了!
若是你喜歡寫做,並且基於 Markdown, 並準備出版書籍,那麼推薦你用 Gitbook ,技術寫做人的最愛!
若是你有一個活躍的 GitHub 帳號,上面有本身不錯的開源項目,還常常給別的開源項目提問題,push 代碼,那麼你找工做將是一個很是大的優點,如今 程序員的招聘不少公司都很看中你 GitHub 帳號,某種意義上 GitHub 就能夠算是你的簡歷了。並且不只國內,不少國外的科技公司都會經過 GitHub 來尋 找優秀的人才,好比我甚至經過 GitHub 收到過 Facebook 的邀請郵件!
固然 GitHub 能作的還遠不止這些,我見過不少在 GitHub 搞的一些有意思的項目,有找男友的,甚至還有利用 GitHub 的 commit 喪心病狂的秀恩愛 的,沒錯,那個喪心病狂的人就是我,若是你前段日子關注了個人 GitHub ,那麼能看到這麼一個壯觀的景象:
加入Github
1.註冊 GitHub
先去 GitHub 官網「How people build software · GitHub」註冊「Sign Up」個帳號,註冊頁面以下:
這個應該沒啥說的,須要填用戶名、郵箱、密碼,值得一提的用戶名請不要那麼隨便,最好取的這個名字就是你之後經常使用的用戶名了,也強烈建議你各大社交帳號都用同樣的用戶名,這樣識別度較高,好比個人博客域名、GitHub、知乎等其餘社交帳號 ID 都是 stormzhang ,微博是由於被佔用了,無奈換了個id,並且這個用戶名之後在 GitHub 搭建博客的時候默認給你生成的博客地址就是 http://username.github.io ,因此給本身取個好點的用戶名吧。
填好用戶名、郵箱、密碼緊接着到這一步:
導航欄,從左到右依次是 GitHub 主頁按鈕、搜索框、PR、Issues、Gist(這些概念後面會講的)、消息提醒、建立項目按鈕、個人帳號相關。
討論區,這部分你能夠理解成微博,就是你關注的一些人的活動會出如今這裏,好比若是大家關注我了,那麼之後我 star、fork 了某些項目就會出如今你的時間線裏。 ^_^ 由於是新建立的Github,因此空曠了些
個人項目,這部分就不用說了,若是你建立了項目,就裏就能夠快捷訪問。
3.設置你的Github
若是你也是新註冊的 GitHub 帳號,是否是以爲很簡陋?雖然咱們尚未多少本身的項目,可是第一步起碼要先完善本身的信息,點擊以下的 Settings 菜單:
到設置頁面來設置一些基本信息:
4. GitHub 基本概念
上面認識了 GitHub 的基本面貌以後,你須要瞭解一些 GitHub 的基本概念,這些概念是你常常會接觸並遇到的。
倉庫的意思,即你的項目,你想在 GitHub 上開源一個項目,那就必需要新建一個 Repository ,若是你開源的項目多了,你就擁有了多個 Repositories 。
問題的意思,舉個例子,就是你開源了一個項目,別人發現你的項目中有bug,或者哪些地方作的不夠好,他就能夠給你提個 Issue ,即問題,提的問題 多了,也就是 Issues ,而後你看到了這些問題就能夠去逐個修復,修復ok了就能夠一個個的 Close 掉。
這個好理解,就是給項目點贊,可是在 GitHub 上的點贊遠比微博、知乎點贊難的多,若是你有一個項目得到100個star都算很不容易了!
這個很差翻譯,若是實在要翻譯我把他翻譯成分叉,什麼意思呢?你開源了一個項目,別人想在你這個項目的基礎上作些改進,而後應用到本身的項目 中,這個時候他就能夠 Fork 你的項目,這個時候他的 GitHub 主頁上就多了一個項目,只不過這個項目是基於你的項目基礎(本質上是在原有項目的基 礎上 新建了一個分支,分支的概念後面會在講解Git的時候說到),他就能夠爲所欲爲的去改進,可是絲絕不會影響原有項目的代碼與結構。
發起請求,這個實際上是基於 Fork 的,仍是上面那個例子,若是別人在你基礎上作了改進,後來以爲改進的很不錯,應該要把這些改進讓更多的人收益, 因而就想把本身的改進合併到原有項目裏,這個時候他就能夠發起一個 Pull Request(簡稱PR) ,原有項目建立人就能夠收到這個請求,這個時候他會 仔細review你的代碼,而且測試以爲OK了,就會接受你的PR,這個時候你作的改進原有項目就會擁有了。
這個也好理解就是觀察,若是你 Watch 了某個項目,那麼之後只要這個項目有任何更新,你都會第一時間收到關於這個項目的通知提醒。
有些時候你沒有項目能夠開源,只是單純的想分享一些代碼片斷,那這個時候 Gist 就派上用場了!
參考自 簡書stormzhang大佬 連接:http://www.jianshu.com/p/d9f9bba4da0f