一、什么是Git
Git是一種分布式版本控制系統(tǒng),它是由Linus Torvalds為了管理Linux內(nèi)核開發(fā)而開發(fā)的。與中心化的版本控制系統(tǒng)(如SVN)不同,Git是一種分布式系統(tǒng),它將代碼庫(repository)復(fù)制到多個開發(fā)者的本地計(jì)算機(jī)上,每個開發(fā)者都有自己的代碼庫,可以在本地提交代碼、管理分支、合并代碼等操作。Git通過在本地存儲完整的代碼歷史記錄,使得開發(fā)者可以離線工作,并支持多個開發(fā)者并行開發(fā)。
Git與SVN的主要區(qū)別如下:
分布式與中心化:Git是一種分布式版本控制系統(tǒng),而SVN是一種中心化版本控制系統(tǒng)。在Git中,每個開發(fā)者都有自己的代碼庫,并可以在本地提交代碼、管理分支、合并代碼等操作。而在SVN中,代碼庫存儲在中央服務(wù)器上,開發(fā)者需要從服務(wù)器上獲取代碼,并將更改提交到服務(wù)器。
分支管理:Git的分支管理功能非常強(qiáng)大,它支持快速創(chuàng)建、切換、合并分支,還支持本地分支和遠(yuǎn)程分支。而在SVN中,分支管理功能相對較弱,只支持創(chuàng)建分支,而分支合并操作需要通過服務(wù)器來完成。
性能和擴(kuò)展性:Git在處理大型代碼庫時具有優(yōu)異的性能和擴(kuò)展性,因?yàn)槊總€開發(fā)者都有自己的代碼庫,并且可以離線工作。而SVN在處理大型代碼庫時可能會遇到性能和擴(kuò)展性方面的挑戰(zhàn),因?yàn)樗虚_發(fā)者都需要連接到中央服務(wù)器。
二、Git的安裝下載
可以從Git官方網(wǎng)站下載并安裝Git工具,以下是具體步驟:
-
打開Git官方網(wǎng)站:Git - Downloads
-
選擇您所使用的操作系統(tǒng),例如Windows,macOS,Linux等,并點(diǎn)擊相應(yīng)的下載按鈕。
-
如果您使用的是Windows系統(tǒng),下載完成后,雙擊.exe文件,打開安裝向?qū)?,按照提示進(jìn)行安裝。如果您使用的是macOS或Linux系統(tǒng),您可以通過命令行安裝Git,具體安裝方法請參考官方文檔。
-
安裝完成后,您可以在命令行終端中輸入
git --version
命令,以確認(rèn)Git是否已成功安裝并顯示版本信息。
安裝完成后,您就可以在命令行終端中使用Git命令來管理您的代碼庫。同時,您也可以使用Git GUI客戶端,如GitHub Desktop,SourceTree等,來進(jìn)行更加直觀的Git操作。
三、git的簡單實(shí)踐
1.創(chuàng)建git倉庫
首先可以注冊一個github賬號,創(chuàng)建一個倉庫。
然后可以看到創(chuàng)建的倉庫:
這里說明一下最后一個License許可證的作用
在創(chuàng)建Git倉庫時選擇證書可以指定代碼倉庫的許可證類型。這個許可證類型決定了在何種情況下其他人可以使用、修改或分發(fā)代碼。
常見的許可證類型包括MIT、Apache、GPL等,每種許可證都有其獨(dú)特的限制和條款,開發(fā)者應(yīng)該根據(jù)自己的需求選擇適合的許可證類型。
例如,MIT許可證允許使用、修改和分發(fā)源代碼和二進(jìn)制文件,只要在所有副本中包含原始版權(quán)和許可聲明。Apache許可證要求所有修改的代碼都必須以Apache許可證的形式發(fā)布。GPL許可證則要求所有修改的代碼都必須以GPL許可證的形式發(fā)布,并且在某些情況下可能要求以開源形式發(fā)布整個應(yīng)用程序。
選擇合適的證書有助于保護(hù)你的知識產(chǎn)權(quán)并促進(jìn)代碼的分享和協(xié)作。
不同的開源軟件許可證類型有不同的限制和條款,下面是一些常見的證書的主要限制和條款的概述:
MIT許可證:MIT許可證是一種簡單的、寬松的許可證,允許使用、修改和分發(fā)源代碼和二進(jìn)制文件,只要在所有副本中包含原始版權(quán)和許可聲明。MIT許可證沒有任何附加條件或限制。
Apache許可證:Apache許可證是一種廣泛使用的許可證,允許使用、修改和分發(fā)源代碼和二進(jìn)制文件,只要所有修改的代碼都必須以Apache許可證的形式發(fā)布。此外,如果你使用Apache許可證的代碼,你必須提供原始版權(quán)和許可聲明,并在使用任何Apache許可證代碼的產(chǎn)品或文件中包含一個 NOTICE 文件。
GPL許可證:GPL許可證是一種最為嚴(yán)格的開源許可證,要求任何使用、修改或分發(fā)GPL許可證的軟件必須以相同的許可證類型發(fā)布,并且源代碼必須始終可用。此外,如果你在你的代碼中使用GPL許可證的代碼,則你的代碼也必須是GPL許可證的。
BSD許可證:BSD許可證是一種較為寬松的許可證,允許使用、修改和分發(fā)源代碼和二進(jìn)制文件,只要在所有副本中包含原始版權(quán)和許可聲明。BSD許可證沒有任何附加條件或限制,允許代碼的商業(yè)使用和閉源修改。
Mozilla Public License(MPL):MPL是一種與GPL和LGPL兼容的開源許可證,允許使用、修改和分發(fā)源代碼和二進(jìn)制文件,只要所有修改的代碼都以MPL許可證的形式發(fā)布。MPL還要求在修改的代碼中包含原始代碼的許可證和版權(quán)聲明。
2.Windows上生成公鑰以綁定GitHub倉庫
在Windows上生成公鑰以綁定GitHub倉庫需要進(jìn)行以下步驟:
-
打開Git Bash終端:在開始菜單中搜索Git Bash,或者右鍵單擊您要使用的文件夾,并從上下文菜單中選擇“Git Bash Here”。
-
創(chuàng)建SSH密鑰:在Git Bash終端中,輸入以下命令,然后按Enter:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
這會生成一對RSA密鑰,其中包括公鑰和私鑰。您需要輸入自己的電子郵件地址。
3.將公鑰添加到GitHub賬戶:復(fù)制公鑰內(nèi)容并將其添加到您的GitHub賬戶中。您可以在GitHub網(wǎng)站上轉(zhuǎn)到“Settings”(設(shè)置)>“SSH and GPG keys”(SSH和GPG密鑰),然后單擊“New SSH key”(新SSH密鑰)按鈕,將公鑰粘貼到文本框中,然后單擊“Add SSH key”(添加SSH密鑰)按鈕。
4.現(xiàn)在,您已經(jīng)將公鑰添加到GitHub賬戶中,并可以通過SSH協(xié)議使用Git訪問GitHub倉庫。
注意:如果您需要使用另一個賬戶訪問GitHub倉庫,則需要為該賬戶創(chuàng)建新的SSH密鑰。
3.寫一個Helloworld
3.1 在開始在github上托管代碼前,需要配置賬號郵箱信息:
Git可以通過git config命令來配置用戶信息,包括用戶名和電子郵件地址。這些信息會被Git用于記錄每次提交的作者信息。
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
3.2 開始提交代碼
git clone git@github.com:xxxx/LearnCoding.git #克隆遠(yuǎn)程代碼
cd /d/MyProject/LearnCoding (main) #切換到倉庫目錄
vi test.c #創(chuàng)建一個test.c文件,然后寫個helloworld程序
git status #查看git跟蹤文件狀態(tài)
git add test.c #將test.c文件添加到暫存區(qū)
git commit -m'你好,新世界' #將暫存區(qū)的內(nèi)容添加到提交區(qū),并添加說明
git push origin main #將本地代碼推送到遠(yuǎn)程相同倉庫的main分支
克隆github上的倉庫
結(jié)果演示:如何查看提交的內(nèi)容
四、幫助學(xué)習(xí)的網(wǎng)站
常見開源的代碼倉庫:
GitHub:GitHub是目前最受歡迎的代碼托管平臺之一,它提供了Git的基本功能,并支持代碼審查、項(xiàng)目管理、協(xié)作開發(fā)等功能。
GitLab:GitLab是一個自托管的Git代碼倉庫管理工具,它提供了類似GitHub的功能,同時還支持CI/CD、容器注冊表等功能。
Bitbucket:Bitbucket是一個基于Git和Mercurial的代碼托管平臺,它提供了與GitHub類似的功能,同時還提供了一些額外的功能,如JIRA軟件集成和支持私有倉庫等。
SourceForge:SourceForge是一個開源軟件開發(fā)平臺,它提供了Git、SVN和Mercurial等版本控制系統(tǒng),并提供了項(xiàng)目管理、協(xié)作開發(fā)等功能。
Apache Subversion(簡稱SVN):SVN是一個開源的集中式版本控制系統(tǒng),它提供了類似Git的版本控制功能,但相比Git,它更加適合處理較小、集中化的代碼庫。
Codeberg:Codeberg是一個德國的非營利性開源項(xiàng)目托管平臺,它提供了基于Git的代碼倉庫管理功能,同時支持在線代碼編輯和協(xié)作開發(fā)。
Gitea:Gitea是一個基于Git的開源自托管Git代碼倉庫管理工具,它提供了與GitHub類似的功能,并提供了快速、易用、輕量的體驗(yàn)。
Learning Git branch:可視化的操作演示,非常適合初學(xué)者
對應(yīng)的網(wǎng)址:
GitHub:https://github.com/
GitLab:https://about.gitlab.com/
Bitbucket:https://bitbucket.org/
SourceForge:https://sourceforge.net/
Apache Subversion(簡稱SVN):https://subversion.apache.org/
Codeberg:https://codeberg.org/
Gitea:https://gitea.io/文章來源:http://www.zghlxwxcb.cn/news/detail-413304.html
Learning Git branch :https://learngitbranching.js.org/文章來源地址http://www.zghlxwxcb.cn/news/detail-413304.html
到了這里,關(guān)于Git入門指南(手把手教學(xué))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!