什么是Github?Github和Git的關系是什么
時間:2019-07-27 00:00:00 | 來源:
初識Github
GitHub 是程序員的必備技能
1.什么是Github?
確切的說 GitHub 是一家公司,位于舊金山,由 Chris Wanstrath, PJ Hyett 與
Tom Preston-Werner 三位開發者在2008年4月創辦。這是它的 Logo:
2008年4月10日,GitHub正式成立,地址:How people build software · GitHub ,
主要提供基于git的版本托管服務。一經上線,它的發展速度驚為天人,截止目前,GitHub 已經發展成全球最大的開(同)源(性)社區。
2.Github和Git的關系?
首先需要知道的一點是:
Git 是一款免費、開源的分布式版本控制系統,他是著名的 Linux 發明者 Linus Torvalds 開發的。說到版本控制系統,估計很多人都用過 SVN ,只不過 Git 是新時代的產物,如果你還在用 SVN 來管理你的代碼,那就真的有些落伍了。不管是學習 GitHub ,還是以后想從事編程行業,Git 都可以算是必備技能了,所以從現在開始建議你先去學習熟悉下 Git 。
而 GitHub 上面說了,主要提供基于 git 的版本托管服務。也就是說現在 GitHub 上托管的所有項目代碼都是基于 Git 來進行版本控制的,所以 Git 只是 GitHub 上用來管理項目的一個工具而已,GitHub 的功能可遠不止于此!
3.GitHub 的影響力
上面我說了 GitHub 現在毫無疑問基本是全球最大的開源社區了,這樣說你們可能認為未免有點浮夸,且聽我一一舉證:
全球頂級科技公司紛紛加入 GitHub ,并貢獻他們自己的項目代碼
Google: https://github.com/google
Facebook: https://github.com/facebook
Twitter:https://github.com/twitter
Square:https://github.com/square
…
全球頂級開源項目都優先選擇在 GitHub 上開源
CoffeeScript:https://github.com/jashkenas/coffeescript
…
全球頂級編程大牛加入GitHub
Linux 發明者 Linus Torvalds:https://github.com/torvalds
Rails 創始人 DHH:https://github.com/dhh
被稱為「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 主頁按鈕、搜索框、PR、Issues、Gist(這些概念后面會講的)、消息提醒、創建項目按鈕、我的賬號相關。
討論區,這部分你可以理解成微博,就是你關注的一些人的活動會出現在這里,比如如果你們關注我了,那么以后我 star、fork 了某些項目就會出現在你的時間線里。 ^_^ 因為是新創建的Github,所以空曠了些
我的項目,這部分就不用說了,如果你創建了項目,就里就可以快捷訪問。
3.設置你的Github
如果你也是新注冊的 GitHub 賬號,是不是覺得很簡陋?雖然我們還沒有多少自己的項目,但是第一步起碼要先完善自己的信息,點擊如下的 Settings 菜單:
到設置頁面來設置一些基本信息:
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
微信開發解決方案:醫藥原料貿易中的加密訂單系統如何保護客戶采購隱私
微信小程序如何重塑會展活動管理?展商名錄與觀眾預約的智慧化解決方案
微信開發公司:食品添加劑企業如何借力企業微信社群打造行業認證影響力?