linux远程服务器配置git版本控制

1、登录linux服务器

2、sudo apt-get install git 

   sudo apt-get install ssh

3、服务器创建一个用户名为ceshi的用户

sudo adduser ceshi

4、按照提示创建完毕后,进入刚创建好的ceshi文件夹下,目录在/home/ceshi/,进入这个目录

cd /home/ceshi

创建.ssh文件夹

mkdir .ssh

5、进入.ssh文件夹

cd .ssh

touch authorized_keys

6、在客户端打开Git Bash,执行:

ssh-keygen -t rsa

按提示输入用户名:ceshi

完成后,会生成2个文件: ceshi和ceshi.pub,分别是私钥和公钥

7、cd ~

pwd

查看当前客户端的工作目录,找到工作目录下的.ssh文件夹,把私钥复制到这个文件夹下

8、如果是第一次搭建,还要新建一个config的文件,并写入以下内容:

host git-server 
    user server
    hostname 119.29.147.xxx
    port 22 
    identityfile ~/.ssh/Mike

  • 注意除第一行,其余要缩进一个tab
  • 这里的Mike替换为自己之前创建key时输入的用户名
  • hostname 后面替换为你的服务器IP地址

9、服务器将公钥追加到服务器的authorized_keys文件中

vim authorized_keys

之后esc

:wq保存退出

10、进入用户文件夹下

cd /home/ceshi

创建一个文件夹text

mkdir test

进入这个文件夹

cd test

git init --bare test.git

11、在客户端clone远程的代码仓库

git clone git-server:/home/ceshi/test/test.git

12、会在gitclient/test/下创建一个名为test的文件夹(.git会被省略)。
我们可以做一个测试,在gitclient/test/test文件夹中添加一个文件,并提交。

git push git-ceshi:/home/ceshi/test/test.git master

13、如果报错,一般是权限问题,去服务器端git库目录下,也就是test文件夹下,然后输入命令

sudo chown -R cl90326:cl90326 test.git

14、git push git-ceshi:/home/ceshi/test/test.git master

成功!

15、将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/

posted @ 2017-12-27 14:24  mayer326  阅读(795)  评论(0编辑  收藏  举报