一、登陆linux服务器html
二、sudo apt-get install git
linux
sudo apt-get install ssh
git
三、服务器建立一个用户名为ceshi的用户shell
sudo adduser ceshivim
四、按照提示建立完毕后,进入刚建立好的ceshi文件夹下,目录在/home/ceshi/,进入这个目录bash
cd /home/ceshi服务器
建立.ssh文件夹ssh
mkdir .sshide
五、进入.ssh文件夹post
cd .ssh
touch authorized_keys
六、在客户端打开Git Bash,执行:
ssh-keygen -t rsa
按提示输入用户名:ceshi
完成后,会生成2个文件: ceshi和ceshi.pub,分别是私钥和公钥
七、cd ~
pwd
查看当前客户端的工做目录,找到工做目录下的.ssh文件夹,把私钥复制到这个文件夹下
八、若是是第一次搭建,还要新建一个config的文件,并写入如下内容:
host git-server user server hostname 119.29.147.xxx port 22 identityfile ~/.ssh/Mike
九、服务器将公钥追加到服务器的authorized_keys文件中
vim authorized_keys
以后esc
:wq保存退出
十、进入用户文件夹下
cd /home/ceshi
建立一个文件夹text
mkdir test
进入这个文件夹
cd test
git init --bare test.git
十一、在客户端clone远程的代码仓库
git clone git-server:/home/ceshi/test/test.git
十二、会在gitclient/test/下建立一个名为test的文件夹(.git会被省略)。
咱们能够作一个测试,在gitclient/test/test文件夹中添加一个文件,并提交。
git push git-ceshi:/home/ceshi/test/test.git master
1三、若是报错,通常是权限问题,去服务器端git库目录下,也就是test文件夹下,而后输入命令
sudo chown -R cl90326:cl90326 test.git
1四、git push git-ceshi:/home/ceshi/test/test.git master
成功!
1五、将git服务器内容同步到项目服务器上
cd /home/ceshi/ceshi.git
cd hooks //这里咱们建立post-receive文件
vim post-receive //在该文件里输入如下内容
#!/bin/bash git --work-tree=/var/www/html/git checkout -f
//保存退出后,将该文件用户及用户组都设置成git
chown cl90326:cl90326 post-receive
//因为该文件其实就是一个shell文件,咱们还应该为其设置可执行权限
chmod +x post-receive
chown -R cl90326:cl90326 /var/www/html/git/