## 第一步
連接服務器
~~~
ssh user@your.server.com
~~~
## 第二步
添加一個用戶
~~~
sudo adduser git
~~~
## 第三步
初始化git裸倉庫,也叫做中間倉庫
~~~
sudo git init --bare sample.git
~~~
## 第四步
修改裸倉庫的所屬用戶
~~~
sudo chown -R git:git sample.git
~~~
## 第五步
禁用shell登錄
出于安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯`/etc/passwd`文件完成。找到類似下面的一行:
~~~
git:x:1001:1001:,,,:/home/git:/bin/bash
~~~
改為:
~~~
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
~~~
這樣別人就不能通過`ssh user@your.server.com `連接你的服務器,只要連接就會自動斷開,別人就無法使用shell來操作你的服務器;但是可以使用你服務器的git。
## 最后
clone 服務器上的代碼
```
git clone git@server:path
```
`git`代表的是我們剛才創建的用戶
`server`代表的是我們的服務器地址,可以是域名或者ip
`path`代表的是裸倉庫保存在服務器的具體位置
例如`git clone git@www.baidu.com:/www/sample.git`
## 如何將本地代碼保存到服務器上
- 如果是通過`git clone`從服務器上clone下來的代碼,直接`git push`就行啦(前提是你只有一個master分支哦,多個分支需要指定push的分支,例如 `git push origin dev`)
- 如果你的項目是在本地已經`git init`過了的,可以通過例如`git remote add git@www.baidu.com:/www/sample.git`添加遠程倉庫。
- 如果你的項目是從github上面clone下來的可以通過例如`git remote set-url --add git@www.baidu.com:/www/sample.git`方式添加,這樣你`git push`時既可以將代碼同步到你的服務器上,也可以同步到github