在CentOS搭建Git服務(wù)器的詳細(xì)步驟
我們可以GitHub發(fā)布一些開源代碼的公共倉(cāng)庫(kù),但對(duì)于私密倉(cāng)庫(kù)就需要收費(fèi)了。公司內(nèi)部通常會(huì)搭建自己的Git服務(wù)器,我也通過(guò)在自己的服務(wù)器上搭建練習(xí)一下。
開始前先說(shuō)一下服務(wù)器信息,這里是阿里云的CentOS 6.5 64位操作系統(tǒng)。
一 確認(rèn)服務(wù)器是否安裝Git
[root@iZ25r8k6ifuZ git]# rpm -qa git git-1.7.1-3.el6_4.1.x86_64
這里也已經(jīng)安裝過(guò)了,如果沒有安裝可以用yum install git 安裝。
二 創(chuàng)建git用戶
這里你可以選擇新建一個(gè)用戶來(lái)測(cè)試,也可以直接使用你的root進(jìn)行以下操作。筆者也是看著資料一步一步來(lái)的,這里創(chuàng)建一個(gè)新用戶teslachen進(jìn)行操作。
[root@iZ25r8k6ifuZ ~]# useradd tesla [root@iZ25r8k6ifuZ ~]# passwd tesla
更改用戶 tesla 的密碼 。
新的 密碼:
無(wú)效的密碼: 它沒有包含足夠的不同字符
無(wú)效的密碼: 過(guò)于簡(jiǎn)單
重新輸入新的 密碼:
passwd: 所有的身份驗(yàn)證令牌已經(jīng)成功更新。
注1:創(chuàng)建用戶權(quán)限不夠請(qǐng)加上sudo;
注2:設(shè)置用戶密碼太過(guò)簡(jiǎn)單的話會(huì)有提示,但依舊可以設(shè)置成功。
三 生成ssh公鑰
許多 Git 服務(wù)器都使用 SSH 公鑰進(jìn)行認(rèn)證。 為了向 Git 服務(wù)器提供 SSH 公鑰,如果某系統(tǒng)用戶尚未擁有密鑰,必須事先為其生成一份。
linux 可以在本機(jī)運(yùn)行ssh-keygen -t rsa生成密鑰,把.pub文件拷到服務(wù)器上。
[root@iZ25r8k6ifuZ ~]# su tesla [tesla@iZ25r8k6ifuZ root]$ cd ~ [tesla@iZ25r8k6ifuZ ~]$ mkdir .ssh [tesla@iZ25r8k6ifuZ ~]$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/tesla/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/tesla/.ssh/id_rsa. Your public key has been saved in /home/tesla/.ssh/id_rsa.pub. The key fingerprint is: 13:bf:75:ba:67:7f:0e:a0:47:7a:fe:25:bc:81:85:c3 tesla@iZ25r8k6ifuZ The key's randomart image is: +--[ RSA 2048]----+ | | | | | . | | o . . | | S . E o | | . O | | + = = .| | + .o.| | o+oo+| +-----------------+ [tesla@iZ25r8k6ifuZ ~]$ cd .ssh/ [tesla@iZ25r8k6ifuZ .ssh]$ cat id_rsa.pub >> ~/.ssh/authorized_keys exit
四 添加tesla到sudoers文件
tesla用戶現(xiàn)在對(duì)一些文件夾沒有操作權(quán)限,修改/etc/sudoers文件來(lái)改變他的權(quán)限。最高管理員用戶用下面命令打開。
[root@iZ25r8k6ifuZ ~]# visudo
然后我們?cè)趘im中找到下面這行
root ALL=(ALL) ALL
按i鍵開始插入,回車一下在下面一行加上
tesla ALL=(ALL) ALL
接著按下esc鍵,輸入 :wq ,回車保存退出
五 創(chuàng)建Git代碼倉(cāng)庫(kù)
[root@iZ25r8k6ifuZ ~]# mkdir /teslaRepo [root@iZ25r8k6ifuZ ~]# cd /teslaRepo/ [root@iZ25r8k6ifuZ teslaRepo]# sudo mkdir teslaProject.git [root@iZ25r8k6ifuZ teslaRepo]# chown tesla:tesla /teslaRepo/ [root@iZ25r8k6ifuZ teslaRepo]# chown -R tesla:git /teslaRepo/ [root@iZ25r8k6ifuZ teslaRepo]# cd teslaProject.git/ [root@iZ25r8k6ifuZ teslaProject.git]# sudo git --bare init Initialized empty Git repository in /teslaRepo/teslaProject.git/
這樣一個(gè)叫teslaProject得Git倉(cāng)庫(kù)就創(chuàng)建好了
六 本地測(cè)試使用
你可以直接在服務(wù)器上進(jìn)行本地測(cè)試,也可以直接用你的電腦來(lái)測(cè)試。下面我是使用自己的MBP來(lái)進(jìn)行的測(cè)試。
localhost:~ okay$ cd Desktop/git/ localhost:git okay$ mkdir teslaRepo localhost:git okay$ cd teslaRepo/ localhost:teslaRepo okay$ git init Initialized empty Git repository in /Users/okay/Desktop/git/teslaRepo/.git/ localhost:teslaRepo okay$ git remote add origin tesla@123.57.159.74:/teslaRepo/teslaProject.git
上面的命令在本地創(chuàng)建了一個(gè)文件夾并添加了服務(wù)器上的遠(yuǎn)程倉(cāng)庫(kù)
localhost:teslaRepo okay$ touch a.txt localhost:teslaRepo okay$ git add a.txt localhost:teslaRepo okay$ git commit -m "init commit" [master (root-commit) d14cd3b] init commit 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 a.txt
上面的命令在本地創(chuàng)建了一個(gè)a.txt并在本地提交了一次
localhost:teslaRepo okay$ git push origin master tesla@123.57.159.74's password: Counting objects: 3, done. Writing objects: 100% (3/3), 202 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To tesla@123.57.159.74:/teslaRepo/teslaProject.git * [new branch] master -> master
上面的命令將本地代碼push到遠(yuǎn)程服務(wù)器上去了,下面我們?cè)诒镜豤lone一次看下是否正確
七 本地clone
localhost:git okay$ mkdir ttt localhost:git okay$ cd ttt localhost:ttt okay$ git clone tesla@123.57.159.74:/teslaRepo/teslaProject.git Cloning into 'teslaProject'... tesla@123.57.159.74's password: remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done. Checking connectivity... done.
clone完成,讓我們看一下文件夾目錄
之前push到服務(wù)器上的a.txt文件已經(jīng)被clone下來(lái)
------------分割線-------------
1. 查看系統(tǒng)用戶組
-d:指定字段的分隔符,默認(rèn)的字段分隔符為“TAB”;
-f:顯示指定字段的內(nèi)容;
cut -d: -f1 /etc/group
2. 查看系統(tǒng)用戶
cut -d: -f1 /etc/passwd
3. clone倉(cāng)庫(kù)
git clone git@your_gitServer_ip:/home/gitrepo/sample.git
4. push已有倉(cāng)庫(kù)
// 以master分支示范 git checkout master git remote rm origin git remote add origin git@your_gitServer_ip:/home/gitrepo/sample.git git push -u origin master
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。