一、前言
現在越來越多的公司用git進行版本控制,不過git是默認是開源的,如果私有的話是需要付費的,如果不想付費自己可以搭建一個git服務器用來版本控制。
二、服務器端操作
1、安裝git
sudo apt-get install git
2、創建一個git用戶
sudo adduser git
3、創建登錄證書
創建公鑰私鑰
# git config --global user.name "test" # git config --global user.email "xxxx@qq.com" #ssh-keygen -t rsa -C "xxxx@qq.com"
在git用戶目錄下創建.ssh文件夾並在其下創建文件authorized_keys
# cd /home/git
# sudo mkdir .ssh # sudo touch .ssh/authorized_keys
收集需版本控制下的用戶的公鑰,就是他們自己的id_rsa.pub
文件,這個需要生成,具體可以Google生成,把所有公鑰導入到/home/git/.ssh/authorized_keys
文件里,不同的公鑰換行
4、選定倉庫目錄,初始化倉庫
比如我是git用戶根目錄下的agame-server文件夾
sudo git init --bare agame-server
5、將這個目錄授權git用戶組
sudo chown -R git:git agame-server
6、為了安全考慮,我們禁用shell登錄,編輯/etc/passwd
找到類似下面的代碼並更改
git:x:1001:1001:,,,:/home/git:/bin/bash 改成 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
三、客戶端操作
客戶端操作就比較簡單了直接clone下來就好了
git clone git@192.168.0.197:agame-server //這個ip是我局域網git服務器的ip 具體根據自己的服務器更改 agame-server是我的git倉庫同上服務器初始化的倉庫 如果是/var/www/agame-server 就是git clone git@192.168.0.197:/var/www/agame-server
//如果在windows上提示沒有權限創建文件夾 就以管理員身份運行下git bash
//一開最好選擇下分支不然可能會提交失敗不知道提交到那個分站 git fetch origin(這是我的分支 因為自己搭建的測試服務器沒有多個分支)