Linux搭建git服務(wù)器,自建倉庫、本地和Windows下面clone

1:首先我們在centos上面自己搭建git服務(wù)器,并初始化裸倉庫

? ? ? ? ? 安裝git,可以使用yum源在線安裝?

? ? ? ? ? ? ? ? ? ? ? ? # yum install -y git

? ? ? ? ? ? 創(chuàng)建一個git用戶來運行g(shù)it服務(wù)?

? ? ? ? ? ? ? ? ? ? ? ? ? # adduser git

? ? ? ? ? ? 并給用戶添加密碼 ,很多博客上面并沒有添加密碼這一項,不是的是不是因為版本的緣故,到 最后遠程鏈接到倉庫clone的時候,需要你輸入密碼,而且必須要有,不能為空,我就是一 直按 照博客上面操作并沒有設(shè)置用戶密碼,走到最后本地clone時候一直不成功,也不知道什 么原因,最后實在沒辦法就試試設(shè)置用戶密碼,然后clone成功了?

? ? ? ? ? ? ? ? ? ? ? ? ? ? #passwd git

? ? ? ? ? ? 初始化倉庫 ,先創(chuàng)建/home/data/git/目錄放置git倉庫并初始化

? ? ? ? ? ? ? ? ? ? ? ? #mkdir -p /home/data/git

? ? ? ? ? ? ? ? ? ? ? ? #cd /home/data/git

? ? ? ? ? ? ? ? ? ? ? ? # git init --bare project.git

? ? ? ? ? ? 執(zhí)行以上命令 Git命令,會創(chuàng)建一個裸倉庫,會生成branches? config? description? HEAD? hooks? index? info? objects? refs文件和目錄。裸倉庫沒有工作區(qū),因為服務(wù)器上的Git倉庫純? 粹是為了共享,所以不讓用戶直接登錄到服務(wù)器上去改工作區(qū),并且服務(wù)器上的Git倉庫通? ? ? ? ? ? ? ? ? 常都以.git結(jié)尾。然后,把owner改為git

? ? ? ? ? ? ? ? ? ? #chown -R git:git project.git

2:裸倉庫建立好了,我們現(xiàn)在需要到客戶端來進行clone,客戶端與服務(wù)端進行遠程鏈接需要創(chuàng)建? 客戶端登錄證書,也就是創(chuàng)建ssh? key文件。這里需要說一下,Linux下面自帶的 有客戶端功 能, Windows需要下載客戶端(我直接在百度軟件管家里面下載的)。首先在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果? 已 經(jīng)有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開客戶端Git Bash),創(chuàng) 建SSH? Key(youremail@example.com也就是你自己的郵件地址):

? $ ssh-keygen -t rsa? -C"youremail@example.com"

? ? ? ? ? 然后回車,存放密鑰對的地址使用默認值路徑

? ? ? ? ? 查看Linux下面主目錄有一個.ssh隱藏文件(Windows在c盤administrator下面),進去之后里面有? id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,id_rsa.pub 是 公 鑰

? ? ? ? ? Git服務(wù)器打開RSA認證 ,進入到 /etc/ssh查看(cat)sshd_config內(nèi)容有? ? ? 1.RSAAuthentication yes? 2.PubkeyAuthentication yes? 3.AuthorizedKeysFile? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .ssh/authorized_keys,說明公鑰存放在.ssh/authorized_keys文件中,所以我們在/home/git下創(chuàng) 建.ssh目錄(這里的。ssh文件和客戶端存放密鑰對文件不是同一個),然后創(chuàng)建? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? authorized_keys文? 件,并將剛生成的公鑰導(dǎo)入進去(客戶端的直接復(fù)制進去保存就可以)

? ? ? ? ? ? ? ? ? ? ? # cd /home/git

? ? ? ? ? ? ? ? ? ? ? # mkdir .ssh? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #cp -a ~/.ssh/id_rsa.pub /home/git/.ssh/authorized_keys

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #chmod755/home/git/.ssh/authorized_keys

3:客戶端clone倉庫

? ? ? 在自己所需要的目錄下面 (ip 是指鏈接服務(wù)器的IP ,/home/data/git/project.git倉庫地址)

? ? ? 執(zhí)行? ? ? ? ? git clone git@ip:/home/data/git/project.git

? ? ? 這里兩點需要注意:第一,當(dāng)你第一次使用Git的clone或者push命令連接倉庫時,會得到一個警? ? ? ? 告,這是因為Git使用SSH連接,而SSH連接在第一次驗證Git服務(wù)器的Key時,需要你確認Git的Key的指紋信息是否真的來自GitHub的服務(wù)器,輸入yes回車即可,Git會輸出一個警告,告訴你? ? ? ? 已經(jīng)把GitHub的Key添加到本機的一個信任列表里了

4:執(zhí)行完之后查看執(zhí)行clone命令的目錄中有了一個project文件夾,到這里就完成了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容