Git入門教程
SVN與Git的最主要的區(qū)別?
SVN是集中式版本控制系統(tǒng),版本庫(kù)是集中放在中央服務(wù)器的,而干活的時(shí)候,用的都是自己的電腦,所以首先要從中央服務(wù)器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服務(wù)器。集中式版本控制系統(tǒng)是必須聯(lián)網(wǎng)才能工作,如果在局域網(wǎng)還可以,帶寬夠大,速度夠快,如果在互聯(lián)網(wǎng)下,如果網(wǎng)速慢的話,就納悶了。
Git是分布式版本控制系統(tǒng),那么它就沒有中央服務(wù)器的,每個(gè)人的電腦就是一個(gè)完整的版本庫(kù),這樣,工作的時(shí)候就不需要聯(lián)網(wǎng)了,因?yàn)榘姹径际窃谧约旱碾娔X上。既然每個(gè)人的電腦都有一個(gè)完整的版本庫(kù),那多個(gè)人如何協(xié)作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時(shí),你們兩之間只需把各自的修改推送給對(duì)方,就可以互相看到對(duì)方的修改了。
Ubuntu 安裝Git
sudo apt update # 更新軟件包索引
sudo apt install git # 安裝git
配置全局環(huán)境變量
git config --global user.name "joyboy"
git config --global user.email "joyboy@126.com"
# 因?yàn)镚it是分布式版本控制系統(tǒng),所以需要填寫用戶名和郵箱作為一個(gè)標(biāo)識(shí)。
# 注意:git config --global 參數(shù),有了這個(gè)參數(shù),表示你這臺(tái)機(jī)器上所有的Git倉(cāng)庫(kù)都會(huì)使用這個(gè)配置
創(chuàng)建版本庫(kù)(repository)
什么是版本庫(kù)?版本庫(kù)又名倉(cāng)庫(kù),英文名repository,你可以簡(jiǎn)單的理解一個(gè)目錄,這個(gè)目錄里面的所有文件都可以被Git管理起來,每個(gè)文件的修改,刪除,Git都能跟蹤,以便任何時(shí)刻都可以追蹤歷史,或者在將來某個(gè)時(shí)刻還可以將文件”還原”。
mkdir testgit
cd testgit
git init
ll
# 此時(shí)當(dāng)前目錄下出現(xiàn).git文件夾。
新建文件readme.txt, 寫入111111

git status # Show the working tree status
# 提示文件git未跟蹤

git add readme.txt # Add file contents to the index
# 提示index緩存有未提交的文件

git commit -m "提交備注"

詳細(xì)參考[參考鏈接]https://zhuanlan.zhihu.com/p/135183491
同步遠(yuǎn)程倉(cāng)庫(kù)
1.首先需要配置本地Git和遠(yuǎn)程倉(cāng)庫(kù)之間代碼的同步;
# 在本地用戶家目錄.ssh目錄下運(yùn)行
ssh-keygen -t rsa -C 'youremail@example.com'
# ssh-keygen 是用于生成 SSH 密鑰對(duì)的命令,它在 Unix/Linux 系統(tǒng)中經(jīng)常使用。這個(gè)命令可以生成一對(duì)公鑰和私鑰,其中公鑰可以分享給服務(wù)器或其他用戶,用于身份驗(yàn)證和加密通信。
# -t rsa:這是 -t 選項(xiàng),用于指定要生成的密鑰類型。在這里,我們指定生成 RSA 密鑰。
# -C “youremail@example.com”:這是 -C 選項(xiàng),用于在生成的公鑰文件的注釋字段中添加一個(gè)注釋。這個(gè)注釋字段通常用于標(biāo)識(shí)密鑰的用途,例如可以添加你的郵箱地址。
- 然后登錄Github 新建一個(gè)倉(cāng)庫(kù),
# 將用于將本地 Git 倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)建立關(guān)聯(lián)。
git remote add origin https://github.com/joyboy/testgit.git
- 配置Token認(rèn)證授權(quán)
# 原先的密碼憑證從2021年8月13日開始就不能用了
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
[配置Token參考]https://zhuanlan.zhihu.com/p/414028184
git branch -M main # 這個(gè)命令用于重命名當(dāng)前分支,將當(dāng)前分支改名為 main。
git push -u origin main # 執(zhí)行這個(gè)命令后,您的本地 main 分支將被推送到名為 origin 的遠(yuǎn)程倉(cāng)庫(kù),-u 表示并將本地的 main 分支設(shè)置為遠(yuǎn)程倉(cāng)庫(kù)的默認(rèn)分支。之后,您可以使用簡(jiǎn)單的 git push 命令來推送和拉取更改,Git 將自動(dòng)處理與 origin/main 分支之間的同步。
克隆遠(yuǎn)程倉(cāng)庫(kù)
# 輔助遠(yuǎn)程倉(cāng)庫(kù)的url。
git clone https://github.com/joyboy/testgit.git