Git是一個(gè)版本控制系統(tǒng),現(xiàn)如今正在被全世界大量開(kāi)發(fā)者使用。許多公司喜歡使用基于 Git 版本控制的 GitHub 代碼托管。根據(jù)報(bào)道,GitHub 是現(xiàn)如今全世界最大的代碼托管網(wǎng)站。GitHub 宣稱已經(jīng)有 920 萬(wàn)用戶和 2180 萬(wàn)個(gè)倉(cāng)庫(kù)。許多大型公司現(xiàn)如今也將代碼遷移到 GitHub 上。甚至于谷歌,一家搜索引擎公司,也正將代碼遷移到 GitHub 上。
GitHub 能提供極佳的服務(wù),但卻有一些限制,尤其是你是單人或是一名 coding 愛(ài)好者。GitHub 其中之一的限制就是其中免費(fèi)的服務(wù)沒(méi)有提供代碼私有托管業(yè)務(wù)。你不得不支付每月 7 美金購(gòu)買 5 個(gè)私有倉(cāng)庫(kù),并且想要更多的私有倉(cāng)庫(kù)則要交更多的錢。
萬(wàn)一你想要私有倉(cāng)庫(kù)或需要更多權(quán)限控制,最好的方法就是在你的服務(wù)器上運(yùn)行 Git。當(dāng)下,也有很多企業(yè)喜歡在公司內(nèi)部部署私有的GIT倉(cāng)庫(kù)。本文將通過(guò)實(shí)際操作來(lái)演示如何快速的在自己的服務(wù)器上創(chuàng)建私有GIT版本控制系統(tǒng)。
以CentOS為例,主要步驟如下:
①安裝對(duì)應(yīng)的軟件(Linux)
命令如下:
```text
yum -y install git
```
②建立git用戶,設(shè)置一個(gè)初始密碼(類似于github平臺(tái)的密碼)
```text
useradd -s /bin/git-shell git
# 指定一下git解釋器,這樣一來(lái),用戶不能登錄到系統(tǒng),只能使用git的相關(guān)命令進(jìn)行操作
# 為git用戶設(shè)置初始密碼
passwd git
# 根據(jù)提示輸入初始密碼
# 例如,初始密碼為123456
```
③創(chuàng)建空遠(yuǎn)程倉(cāng)庫(kù)(裸庫(kù))
```text
cd /home/git
# 創(chuàng)建裸庫(kù)
git init --bare repo.git
# repo.git為裸庫(kù)的名字(repo就類似于之前在github上創(chuàng)建倉(cāng)庫(kù)名)
chown -R git:git repo.git
# 更改所有者,讓git用戶成為倉(cāng)庫(kù)的所有者(具備寫權(quán)限)
```
④客戶端的使用
例如在Windows系統(tǒng)下,新建文件夾`test`,進(jìn)入文件夾,執(zhí)行:
```text
git init
```
⑤建立本地庫(kù)與遠(yuǎn)程裸庫(kù)的連接關(guān)系
```text
# git remote add origin Git服務(wù)用戶名@主機(jī)地址:服務(wù)器上裸庫(kù)的地址
git remote add origin git@你的服務(wù)器地址:/home/git/repo.git
```
⑥測(cè)試:在本地倉(cāng)庫(kù)中建立一個(gè)測(cè)試文件,測(cè)試提交是否正常
```text
## 往當(dāng)前目錄下,寫入helloworld到文件qianfeng.txt中
echo helloworld > qianfeng.txt
## 添加和提交
git add .
git commit -m init
git push -u origin master
```
⑦測(cè)試克隆拉取是否正常
```text
git clone git@你的服務(wù)器地址:/home/git/repo.git
```
⑧自建的git服務(wù)器支持免密登錄
在客戶端上通過(guò)以下命令來(lái)獲取公私玥對(duì)(如已有則跳過(guò)):
```text
ssh-keygen -t rsa -C 主體名稱
```
產(chǎn)生完畢后,公私玥對(duì)位于`c/Users/用戶名/.ssh/`:
- id_rsa:私鑰(私有的鑰匙,不能公開(kāi))
- id_rsa.pub:公鑰(可以公開(kāi)的鑰匙)
將公鑰內(nèi)容寫入到Linux中,需要將公鑰寫入到git家目錄中對(duì)應(yīng)的文件里:
```text
mkdir /home/git/.ssh
vim /home/git/.ssh/authorized_keys
# 保存退出之后,免密登錄就立即生效
```
至此,我們自己私有的GIT配置就已經(jīng)完成了,現(xiàn)在我們可以享受更安全、高效的GIT使用體驗(yàn)!更多關(guān)于“web前端培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的提升班,高品質(zhì)課程助理你實(shí)現(xiàn)夢(mèng)想。