您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“在CentOS上怎么搭建Git服務器”,內容詳細,步驟清晰,細節處理妥當,希望這篇“在CentOS上怎么搭建Git服務器”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
一 確認服務器是否安裝git
[root@iz25r8k6ifuz git]# rpm -qa git git-1.7.1-3.el6_4.1.x86_64
這里也已經安裝過了,如果沒有安裝可以用yum install git 安裝。
二 創建git用戶
這里你可以選擇新建一個用戶來測試,也可以直接使用你的root進行以下操作。筆者也是看著資料一步一步來的,這里創建一個新用戶teslachen進行操作。
[root@iz25r8k6ifuz ~]# useradd tesla [root@iz25r8k6ifuz ~]# passwd tesla
更改用戶 tesla 的密碼 。
新的 密碼:
無效的密碼: 它沒有包含足夠的不同字符
無效的密碼: 過于簡單
重新輸入新的 密碼:
passwd: 所有的身份驗證令牌已經成功更新。
注1:創建用戶權限不夠請加上sudo;
注2:設置用戶密碼太過簡單的話會有提示,但依舊可以設置成功。
三 生成ssh公鑰
許多 git 服務器都使用 ssh 公鑰進行認證。 為了向 git 服務器提供 ssh 公鑰,如果某系統用戶尚未擁有密鑰,必須事先為其生成一份。
linux 可以在本機運行ssh-keygen -t rsa生成密鑰,把.pub文件拷到服務器上。
[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用戶現在對一些文件夾沒有操作權限,修改/etc/sudoers文件來改變他的權限。最高管理員用戶用下面命令打開。
[root@iz25r8k6ifuz ~]# visudo
然后我們在vim中找到下面這行
root all=(all) all
按i鍵開始插入,回車一下在下面一行加上
tesla all=(all) all
接著按下esc鍵,輸入 :wq ,回車保存退出
五 創建git代碼倉庫
[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/
這樣一個叫teslaproject得git倉庫就創建好了
六 本地測試使用
你可以直接在服務器上進行本地測試,也可以直接用你的電腦來測試。下面我是使用自己的mbp來進行的測試。
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
上面的命令在本地創建了一個文件夾并添加了服務器上的遠程倉庫
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
上面的命令在本地創建了一個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到遠程服務器上去了,下面我們在本地clone一次看下是否正確
七 本地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到服務器上的a.txt文件已經被clone下來
------------分割線-------------
1. 查看系統用戶組
-d:指定字段的分隔符,默認的字段分隔符為“tab”;
-f:顯示指定字段的內容;
cut -d: -f1 /etc/group
2. 查看系統用戶
cut -d: -f1 /etc/passwd
3. clone倉庫
git clone git@your_gitserver_ip:/home/gitrepo/sample.git
4. push已有倉庫
// 以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
讀到這里,這篇“在CentOS上怎么搭建Git服務器”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。