搭建本地git服務器

最近由於項目需求,須要實現一個原型系統,加上後期項目須要多人協做,考慮採用了git作版本控制。git

這裏主要簡要描述下git服務器和客戶端的搭建和配置。服務器

一、git服務器ssh

(1)安裝git分佈式

sudo apt-get install git

git是一個分佈式的版本控制工具,每一個git倉庫既能夠做爲服務器也能夠做爲客戶端(不一樣於svn採用的集中式版本控制),故安裝完成後須要配置用戶信息svn

git config --global user.name  "mal"
git config --global user.email malt@gmial.com

 

(2)添加git用戶,避免項目和其餘文件相互衝突工具

adduser git
passwd git

 

(3)使用git用於新建一個倉庫spa

git@malt:~$ mkdir res.git
git@malt:~$ cd res.git/
git@malt:~/res.git$ git --bare init

 

這裏建立res.git倉庫是使用git用戶建立的,若是是root用戶建立,後續採用 git remote add origin git@127.0.0.1:/home/git/res.git,對應權限錯誤。版本控制

 

二、git客戶端code

在git服務器遠程倉庫創建好後,就能夠在客戶端將本身的倉庫加入到遠程倉庫中了。blog

whthomas@whthomas:~/workplace/gitu$ git init
初始化空的 Git 版本庫於 /home/whthomas/workplace/gitu/.git/
whthomas@whthomas:~/workplace/gitu$ touch README
whthomas@whthomas:~/workplace/gitu$ echo hello >> README 
whthomas@whthomas:~/workplace/gitu$ cat README 
hello
whthomas@whthomas:~/workplace/gitu$ git add .
whthomas@whthomas:~/workplace/gitu$ git commit -m "add a README"
[master (根提交) 59d4695] add a README
 1 file changed, 1 insertion(+)
 create mode 100644 README
whthomas@whthomas:~/workplace/gitu$ git remote add origin git@127.0.0.1:/home/git/res.git
whthomas@whthomas:~/workplace/gitu$ git push origin master 
Counting objects: 3, done.
Writing objects: 100% (3/3), 216 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@127.0.0.1:/home/git/res.git
 * [new branch]      master -> master

 

一樣的,也能夠在其餘目錄下git clone遠程倉庫

git clone git@localhost:/home/git/res.git

 

三、設置免密碼push

在git服務器的git用戶目錄下。新建目錄和文件(若是存在則不須要新建)

$ cd /home/git  
$ mkdir .ssh  
$ chmod 700 .ssh  
$ touch .ssh/authorized_keys  
$ chmod 600 .ssh/authorized_keys 

 

在git客戶端中,查看ssh公私鑰,若是沒有,使用命令"ssh-keygen"能夠建立

其中id_rsa.pub爲公鑰,將其內容複製並追加到git服務器的authorized_keys中。以後則能夠免密鏈接遠程倉庫。

相關文章
相關標籤/搜索