什麼是Github?

初識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

圖片描述

圖片描述

  • 被稱爲「Android之神」的 JakeWharton:https://github.com/JakeWharton , 大家用的不少開源庫如 ButterKnife、OkHttp、 Retrofit、 Picasso、ViewPagerIndicator 等都是出自他之手!

圖片描述

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 有兩種,一種是公開,這種是免費的,就是你建立的項目是開放的,全部人都能看獲得;另外一種是私有,這種是收費的,這種通常是不少企業在使用 GitHub 的私有倉庫在託管本身的項目,這也是 GitHub 的一種盈利模式對於我的你就直接默認選擇公開的就好了。
2.認識Github
註冊成功以後你會到 GitHub 的主頁面來:

導航欄,從左到右依次是 GitHub 主頁按鈕、搜索框、PR、Issues、Gist(這些概念後面會講的)、消息提醒、建立項目按鈕、個人帳號相關。

討論區,這部分你能夠理解成微博,就是你關注的一些人的活動會出如今這裏,好比若是大家關注我了,那麼之後我 star、fork 了某些項目就會出如今你的時間線裏。 ^_^ 由於是新建立的Github,因此空曠了些

個人項目,這部分就不用說了,若是你建立了項目,就裏就能夠快捷訪問。

3.設置你的Github

若是你也是新註冊的 GitHub 帳號,是否是以爲很簡陋?雖然咱們尚未多少本身的項目,可是第一步起碼要先完善本身的信息,點擊以下的 Settings 菜單:

到設置頁面來設置一些基本信息:

像頭像、Name 建議要設置一個經常使用的,這兩個頗有識別性,公開的郵箱也要設置一個,這樣那些企業啊、獵頭啊就經過這個公開郵箱去聯繫你,友情提醒:別在 GitHub 把本身的 QQ 郵箱放上去,不顯得太 low 了麼?沒有 gmail 郵箱,起碼也得註冊個 foxmail、163 郵箱之類的吧。

4. GitHub 基本概念

上面認識了 GitHub 的基本面貌以後,你須要瞭解一些 GitHub 的基本概念,這些概念是你常常會接觸並遇到的。

  • Repository

  倉庫的意思,即你的項目,你想在 GitHub 上開源一個項目,那就必需要新建一個 Repository ,若是你開源的項目多了,你就擁有了多個 Repositories 。

  • Issue

  問題的意思,舉個例子,就是你開源了一個項目,別人發現你的項目中有bug,或者哪些地方作的不夠好,他就能夠給你提個 Issue ,即問題,提的問題  多了,也就是 Issues ,而後你看到了這些問題就能夠去逐個修復,修復ok了就能夠一個個的 Close 掉。

  • Star

  這個好理解,就是給項目點贊,可是在 GitHub 上的點贊遠比微博、知乎點贊難的多,若是你有一個項目得到100個star都算很不容易了!

  • Fork

  這個很差翻譯,若是實在要翻譯我把他翻譯成分叉,什麼意思呢?你開源了一個項目,別人想在你這個項目的基礎上作些改進,而後應用到本身的項目   中,這個時候他就能夠 Fork 你的項目,這個時候他的 GitHub 主頁上就多了一個項目,只不過這個項目是基於你的項目基礎(本質上是在原有項目的基   礎上  新建了一個分支,分支的概念後面會在講解Git的時候說到),他就能夠爲所欲爲的去改進,可是絲絕不會影響原有項目的代碼與結構。

  • Pull Request

  發起請求,這個實際上是基於 Fork 的,仍是上面那個例子,若是別人在你基礎上作了改進,後來以爲改進的很不錯,應該要把這些改進讓更多的人收益,  因而就想把本身的改進合併到原有項目裏,這個時候他就能夠發起一個 Pull Request(簡稱PR) ,原有項目建立人就能夠收到這個請求,這個時候他會  仔細review你的代碼,而且測試以爲OK了,就會接受你的PR,這個時候你作的改進原有項目就會擁有了。

  • Watch

  這個也好理解就是觀察,若是你 Watch 了某個項目,那麼之後只要這個項目有任何更新,你都會第一時間收到關於這個項目的通知提醒。

  • Gist

  有些時候你沒有項目能夠開源,只是單純的想分享一些代碼片斷,那這個時候 Gist 就派上用場了!

參考自  簡書stormzhang大佬    連接:http://www.jianshu.com/p/d9f9bba4da0f

相關文章
相關標籤/搜索