GitHub是一個(gè)基于Web的Git版本控制和源代碼管理的平臺(tái),由GitHub, Inc.營(yíng)運(yùn)。它支持既有的Git功能,包括分支管理、跨項(xiàng)目協(xié)作、合并請(qǐng)求以及數(shù)字簽名等,主要服務(wù)于開(kāi)源和私有軟件項(xiàng)目的開(kāi)發(fā)。
一、GitHub功能
GitHub主要用于存儲(chǔ)、共享和與他人協(xié)作編寫(xiě)代碼。通過(guò)將代碼存放在 GitHub 的“存儲(chǔ)庫(kù)”中,可以實(shí)現(xiàn)以下功能:
1、展示或共享個(gè)人工作成果。
2、持續(xù)跟蹤和管理 代碼更改。
3、允許其他人 審查 代碼并提出改進(jìn)建議。
4、在共享項(xiàng)目中進(jìn)行協(xié)作,避免在準(zhǔn)備好集成更改之前影響到其他協(xié)作者的工作。
5、協(xié)作工作是 GitHub 的核心功能之一,它基于開(kāi)源軟件 Git 進(jìn)行構(gòu)建,極大地便利了團(tuán)隊(duì)合作與代碼管理。
二、GitHub的發(fā)行周期
GitHub 的產(chǎn)品和功能通常通過(guò)以下三個(gè)階段發(fā)布:
1、Alpha
產(chǎn)品或功能處于大量開(kāi)發(fā)中,要求和范圍常常變化。此狀態(tài)的功能可用于演示和測(cè)試目的,但可能缺乏完善文檔,且不提供服務(wù)水平協(xié)議(SLA)或技術(shù)支持。注意作為“技術(shù)預(yù)覽版”發(fā)布的產(chǎn)品也視為 Alpha 階段。
2、Beta
產(chǎn)品或功能已準(zhǔn)備好進(jìn)行更廣泛的分發(fā),Beta 版本可以是公開(kāi)或私有的,并且會(huì)形成相應(yīng)文檔,但同樣不提供任何 SLA 或技術(shù)支持。 |
3、正式發(fā)布版 (GA)
產(chǎn)品或功能經(jīng)過(guò)全面測(cè)試,已公開(kāi)向所有用戶開(kāi)放。GA 版本可用于生產(chǎn)環(huán)境,并具備相關(guān)的 SLA 和技術(shù)支持。
三、GitHub的Web瀏覽器支持
建議使用以下其中一個(gè)瀏覽器的最新版本:
- Apple Safari
- Google Chrome
- Microsoft Edge
- Mozilla Firefox
如果不使用推薦瀏覽器的最新版本,或者使用未列出的瀏覽器,GitHub 或某些功能可能無(wú)法按預(yù)期工作。
四、對(duì)建議的Web瀏覽器的擴(kuò)展支持
部分瀏覽器供應(yīng)商提供擴(kuò)展版本。我們努力確保 GitHub 在最新的擴(kuò)展支持版本中正常運(yùn)行,包括:
- Chrome 的擴(kuò)展穩(wěn)定通道;
- Edge 的擴(kuò)展穩(wěn)定通道;
- Firefox 的擴(kuò)展支持版本(ESR)。
在較舊版本的擴(kuò)展支持中,GitHub 可能無(wú)法按預(yù)期工作,部分功能可能不可用。
五、關(guān)于Git
Git是一種智能追蹤文件更改的版本控制系統(tǒng)。當(dāng)你與他人同時(shí)對(duì)同一文件進(jìn)行更改時(shí),Git 的優(yōu)勢(shì)顯而易見(jiàn)。在基于 Git 的工作流程中,通常需要執(zhí)行以下步驟:
1、為正在處理的文件的主副本 “創(chuàng)建分支”。
2、在個(gè)人分支上安全地 “進(jìn)行編輯”。
3、讓 Git 智能地將特定更改 “合并” 回主副本,以確保更改不會(huì)干擾其他人已提交的更新。
4、讓 Git “跟蹤” 你的和他人的更改,以便始終使用項(xiàng)目的最新版本。
六、Git和GitHub如何協(xié)同工作
在將文件上傳到 GitHub 時(shí),它們被存儲(chǔ)在“Git 存儲(chǔ)庫(kù)”中。這意味著對(duì) GitHub 中的文件進(jìn)行更改(或“提交”)時(shí),Git 會(huì)自動(dòng)開(kāi)始跟蹤和管理這些更改。
很多與 Git 相關(guān)的操作,如創(chuàng)建 Git 存儲(chǔ)庫(kù)、創(chuàng)建分支以及上傳和編輯文件,都可以直接在瀏覽器中的 GitHub 上完成。然而,大多數(shù)用戶在本地計(jì)算機(jī)上處理文件,并不斷將這些本地更改(以及所有相關(guān)的 Git 數(shù)據(jù))與 GitHub 上的“遠(yuǎn)程”存儲(chǔ)庫(kù)進(jìn)行同步。GitHub Desktop 是一個(gè)常用的工具來(lái)實(shí)現(xiàn)這一操作。
當(dāng)你開(kāi)始與他人協(xié)作時(shí),所有人需要同時(shí)在同一存儲(chǔ)庫(kù)上工作,你將不斷執(zhí)行以下操作:
- 從 GitHub 上的遠(yuǎn)程存儲(chǔ)庫(kù) “拉取” 協(xié)作者所做的最新更改;
- 將自己的更改 “推送” 回同一遠(yuǎn)程存儲(chǔ)庫(kù)。
Git 負(fù)責(zé)智能地合并這些更改,GitHub 提供的 “拉取請(qǐng)求”等功能可以幫助你有效管理這些更改流。