git和github的關(guān)系是:github是基于git的一個(gè)倉(cāng)庫(kù)托管平臺(tái);GitHub是一個(gè)面向開(kāi)源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С諫it作為唯一的版本庫(kù)格式進(jìn)行托管,故名GitHub,而Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。
本文操作環(huán)境:Windows10系統(tǒng)、Git2.30.0版、Dell G3電腦。
git和github是什么關(guān)系
git是一個(gè)版本管理工具,github是基于git的一個(gè)倉(cāng)庫(kù)托管平臺(tái)(當(dāng)然github現(xiàn)在也遠(yuǎn)不止于此),所以git和github的關(guān)系不言而喻了,它們?yōu)檐浖?gòu)建與管理和開(kāi)源軟件事業(yè)做出了巨大貢獻(xiàn)。
GIT
Git是一款免費(fèi)、開(kāi)源的分布式版本控制系統(tǒng),用于敏捷高效地處理任何或小或大的項(xiàng)目。
Git是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件。
Torvalds 開(kāi)始著手開(kāi)發(fā) Git 是為了作為一種過(guò)渡方案來(lái)替代 BitKeeper,后者之前一直是 Linux 內(nèi)核開(kāi)發(fā)人員在全球使用的主要源代碼工具。開(kāi)放源碼社區(qū)中的有些人覺(jué)得BitKeeper 的許可證并不適合開(kāi)放源碼社區(qū)的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統(tǒng)。盡管最初 Git 的開(kāi)發(fā)是為了輔助 Linux 內(nèi)核開(kāi)發(fā)的過(guò)程,但是我們已經(jīng)發(fā)現(xiàn)在很多其他自由軟件項(xiàng)目中也使用了 Git。例如 很多 Freedesktop 的項(xiàng)目遷移到了 Git 上。
github
GitHub 是一個(gè)面向開(kāi)源及私有軟件項(xiàng)目的托管平臺(tái),因?yàn)橹恢С?Git 作為唯一的版本庫(kù)格式進(jìn)行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上線,除了 Git 代碼倉(cāng)庫(kù)托管及基本的 Web 管理界面以外,還提供了訂閱、討論組、文本渲染、在線文件編輯器、協(xié)作圖譜(報(bào)表)、代碼片段分享(Gist)等功能。目前,其注冊(cè)用戶已經(jīng)超過(guò)350萬(wàn),托管版本數(shù)量也是非常之多,其中不乏知名開(kāi)源項(xiàng)目 Ruby on Rails、jQuery 等。
知識(shí)擴(kuò)展:
將項(xiàng)目上傳到GitHub
GitHub網(wǎng)址:https://github.com/
關(guān)于賬號(hào)的創(chuàng)建本文就不再詳細(xì)介紹,對(duì)于GitHub、Gitee等的使用基本是一樣的。
a、創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)
剛創(chuàng)建的賬號(hào)是沒(méi)有任何項(xiàng)目的,需要我們自己創(chuàng)建
b、在GitHub上創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)
c、將本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行映射。
// 如果本地沒(méi)有倉(cāng)庫(kù),我們可以使用如下命令進(jìn)行關(guān)聯(lián)echo "# practice" >> README.md // 創(chuàng)建文件git init // 初始化倉(cāng)庫(kù)git add README.md // 上傳到暫存區(qū)git commit -m "first commit" // 提交到本地倉(cāng)庫(kù)git branch -M main // 對(duì)當(dāng)前分支重命名為main分支git remote add origin https://github.com/codeguowq99/practice.git // 將本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián)git push -u origin main // 將本地倉(cāng)庫(kù)的所有修改推送到遠(yuǎn)程倉(cāng)庫(kù)// 如果本地已經(jīng)存在倉(cāng)庫(kù)git remote add origin https://github.com/codeguowq99/practice.git // 將本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)進(jìn)行關(guān)聯(lián)git branch -M main // 對(duì)當(dāng)前分支重命名為main分支git push -u origin main // 將本地倉(cāng)庫(kù)的所有修改推送到遠(yuǎn)程倉(cāng)庫(kù)
注意:以上這些步驟的前提是要在本地生成ssh密鑰,然后將公鑰上傳到GitHub中Settings下。(關(guān)于ssh可參考本人的其他文章)
完成這些步驟我就可以將之前創(chuàng)建的項(xiàng)目和遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián)起來(lái)并且將本地倉(cāng)庫(kù)內(nèi)容推送到遠(yuǎn)程倉(cāng)庫(kù)。
推送完成后我們刷新GitHub頁(yè)面即可看到我們項(xiàng)目已經(jīng)到了云端。
到這里我們就可以將自己的項(xiàng)目發(fā)布到遠(yuǎn)程倉(cāng)庫(kù)了,在后續(xù)的使用過(guò)程我們可以先將commit
到本地倉(cāng)庫(kù),然后再push
遠(yuǎn)程倉(cāng)庫(kù)。
推薦學(xué)習(xí):《Git教程》