github入門

github公司的吉祥物,不知道是章魚還是貓,我看像是貓,因為它
的名字有貓的字眼,octocat,好的,話題轉回正題,

一、github特色

  • 核心功能:git倉庫的托管服務;
  • 其他帶來的變化:
    • 協作形式變化,輔助多人程序員協同編程的軟件
    • 引發化學反映的Pull Request,程序員修改了本地代碼后,向github提交合并代碼的請求,項目責任人可以駁回請求,并支持進行評論功能,光這點互動功能是以前任何版本管理軟件都沒有的,創新的請求審批功能;
    • 對特定用戶進行評論,任務管理和bug報告可通過Issue進行交互,只需要at,@用戶名,甚至到用戶組,@用戶組@用戶名/倉庫名#Issue編號;
    • 文字輸入支持Markdown編輯器,只記住一種語法便能在多種交流中使用,舒服了我們大家;
    • 能看到其他團隊的項目代碼,只要將感興趣的倉庫添加到Watch中,就可以在News Feed查看相關信息;
    • 開源軟件與企業內部的開發模式融合,剛入職的應屆畢業生熟悉了github開發模式,可以同時很快的投身到開源軟件與企業內部開發過程中,當然前提條件是企業需要采用github,兩者的區別就是倉庫的公開與否的區別了;

二、社會化編程(革命)

github這一服務,給軟件開發帶來了一次革命,這一概念影響力全世界眾多程序員,
Social Coding(社會化編程)這個詞,原來作為github公司logo的副標題,但在2013年4月去掉了,
世界上任何人都可以比以前更加容易地獲得源代碼,將其自由更改并加以公開,如今,世界上眾多程序員都在通過github公開源代碼,同時支持著自己日常的日常開發。
github為程序員的世界帶來了真正意義上的民主,讓所有人平等地擁有了更改源代碼的權利,而革命領導者github的口號是【社會化編程】

為什么需要社會化編程

當今it業界已經沒有了終身雇傭制,人才流動日益增大,
假設一下面試場景:

能查看以前代碼 vs no
精通最新軟件代碼 vs no
能理解不同語言或文化差異 vs no

為了不成為后面的,理解github的社會化編程很重要,

不要閉目塞聽,要接觸不同文化

國內大部分接觸的都是非公開代碼,更應該接觸世界上的不同文化,擴展見聞,  
如果只在公司封閉的小世界中敲代碼,往往不知不覺間,手中的技術就變得陳腐不堪了  
放眼世界,注意那些日新月異的源代碼、技術、設計以及文化,會對自己編碼帶來巨大影響,  
作者曾在知名框架的源代碼中收到啟發,整合到了自己公司內部的項目中。

會寫代碼的程序員更受青睞

github讓所有人平等擁有公開源代碼的權利,   
看社交網站facebook或twitter能了解一個人的品性  
而看github就能了解一個程序員的實力

以代碼為生的職業程序員,更應該進行社會化編程,在過去,程序員只需要簡單的編程經驗,用人單位更重視其人品、協調性、管理能力。但如今踏踏實實寫代碼的職業程序員反而更收歡迎。
由于近年來的技術發展,一個項目需要用到多種編程語言和技術,以求兼容多種硬件設備。
這種背景下判斷程序員的編碼能力,最切實可行的辦法就是實際寫的代碼。

github最大特征是【面向人】,帶來了全新的世界

github與以往的倉庫托管服務的最大不同,就在于它以人為中心,
而以往的版本控制服務以項目為中心,相關的人員,比如管理員是誰,做了哪些事,我們都是不知道

github除了項目外,還可以把注意力放在人(崇拜已久的超級黑客,同學或同事)上,能閱讀一個人公開的所有源代碼,只要查看News Feed,甚至連他對哪些倉庫感興趣,什么時候提交過,一個人在github進行的開發是一目了然的。

三、github主要功能

git倉庫

免費建立任意個git倉庫,但只對特定人員公開的私有倉庫,則需要按照套餐類型支付費用

公司賬戶(Oraganization)

公司賬戶能統一管理帳號和權限,還能統一支付費用,對于公開倉庫是免費。

問題任務(Issue)

Issue功能,是將一個任務或問題bug分配給一個Issue進行跟蹤和管理。
可以像bug管理或者TiDD的ticket一樣使用,每當進行Pull Request的同時,會創建一個Issue。
每一個功能更改或修正都對應一個Issue,討論或修正都是以Issue為中心,只要查看Issue,
就能知道相關的一切信息,并以此進行管理
提交信息中寫上Issue的ID(例如,#7),自動生成從Issue到對應提交的鏈接。

wiki

通過wiki功能,任何人都能隨時對一片文章進行更改并保存,這樣就支持多人共同完成一篇文檔或手冊。
另外,wiki也是倉庫進行版本管理的,改版的歷史記錄會被切實保存下來。

Pull Request及評論功能

開發者向github推送更改或功能后,可通過Pull Request功能向倉庫管理者提交申請,   
請求對方合并。請求送出后,管理者能查看申請內容及其中包含的代碼更改比對,

同時,github提供對Pull Request進行評論的功能,以行為單位對源代碼進行評論,讓程序員高效交流。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容