產品介紹
GitHub是一個面向開源及私有軟件項目的托管平臺,因為只支持Git作為唯一的版本庫格式進行托管,故名GitHub。GitHub擁有1億以上的開發人員,400萬以上組織機構和3.3億以上資料庫
功能
作為開源代碼庫以及版本控制系統,隨著越來越多的應用程序轉移到了云上,Github已經成為了管理軟件開發以及發現已有代碼的首選方法。
如前所述,作為一個分布式的版本控制系統,在Git中并不存在主庫這樣的概念,每一份復制出的庫都可以獨立使用,任何兩個庫之間的不一致之處都可以進行合并。
GitHub可以托管各種git庫,并提供一個web界面,但它與外國的SourceForge、Google Code或中國的coding的服務不同,GitHub的獨特賣點在于從另外一個項目進行分支的簡易性。為一個項目貢獻代碼非常簡單:首先點擊項目站點的“fork”的按鈕,然后將代碼檢出并將修改加入到剛才分出的代碼庫中,最后通過內建的“pull request”機制向項目負責人申請代碼合并。已經有人將GitHub稱為代碼玩家的MySpace。
在GitHub進行分支就像在Myspace(或Facebook)進行交友一樣,在社會關系圖的節點中不斷的連線。
GitHub項目本身自然而然的也在GitHub上進行托管,只不過在一個私有的,公共視圖不可見的庫中。開源項目可以免費托管,但私有庫則并不如此。Chris Wanstrath,GitHub的開發者之一,肯定了通過付費的私有庫來在財務上支持免費庫的托管這一計劃。
通過與客戶的接洽,開發FamSpam,甚至是開發GitHub本身,GitHub的私有庫已經被證明了物有所值。任何希望節省時間并希望和團隊其它成員一樣遠離頁面頻繁轉換之苦的人士都會從GitHub中獲得他們真正想要的價值。
在GitHub,用戶可以十分輕易地找到海量的開源代碼。
特點
從代碼自動化到云:使用 GitHub Actions 通過 GitHub Packages 和內置 CI/CD 更快地循環生產代碼并簡化工作流。
自動化工作流:在管理代碼的同一個位置以所需方式生成、測試、部署和運行 CI/CD。 從任何 GitHub 事件到任何可用 API 觸發Actions。 使用所選語言生成 Actions,或從社區創建的數千個工作流和 Actions 中進行選擇。
帶有代碼的家庭包:使用 Actions 將新的包版本自動發布到 GitHub Packages。 在 CI/CD 工作流中安裝托管在 GitHub Packages 或首選包注冊表上的包和映像。 它對于開放源代碼始終免費,Actions 內的數據傳輸對所有人都無限制。
共同保護軟件安全:GitHub 在保護全球代碼安全方面扮演著重要的角色 - 開發人員、維護人員、研究人員和安全團隊。 在GitHub上,各地的開發團隊都可以協同工作,以保護全球軟件供應鏈的安全,從分支到完成。
獲取有關代碼中漏洞的警報:GitHub 持續掃描常用語言的安全建議。 此外,此功能還會向受影響的存儲庫的維護人員發送安全警報,并提供詳細信息,以便他們能夠修正風險。
自動更新漏洞:GitHub監視項目依賴項,并自動打開拉取請求,以將依賴項更新為可解決已知漏洞的最低版本。
查找其他工具忽略的漏洞:CodeQL 是行業領先的語義代碼分析引擎。 GitHub的革命性方法將代碼視為數據,以更快地識別安全漏洞。
消除變體:永遠不會再犯相同的錯誤。 主動漏洞掃描可防止漏洞進入生產環境。
確保令牌安全:意外地將令牌提交到公共存儲庫,在 20 家服務提供商的支持下,GitHub 會采取措施確保安全。
應用
GitHub使用git分布式版本控制系統,而git最初是LinusTorvalds為幫助Linux開發而創造的,它針對的是Linux平臺,因此git和Windows從來不是最好的朋友,因為它一點也不像Windows。GitHub發布了GitHub for Windows,為Windows平臺開發者提供了一個易于使用的Git圖形客戶端。
GitHub for Windows是一個Metro風格應用程序,集成了自包含版本的Git,bash命令行shell,PowerShell的posh-git擴展。GitHub為Windows用戶提供了一個基本的圖形前端去處理大部分常用版本控制任務,可以創建版本庫,向本地版本庫遞交補丁,在本地和遠程版本庫之間同步。微軟也通過CodePlex向開發者提供git版本控制系統,而GitHub創造了一個更具有吸引力的Windows版本。