云服务器搭建git仓库

2017/03/21 git

在日常开发的过程中有时需要用到第三方的云服务器,将本地写好的代码上传到服务器运行起来。代码可以通过git仓库上传,通过git仓库也能方便地管理多人协同开发的代码。本文介绍如何在云服务器上搭建个git仓库来同步本地的代码。

云服务器像阿里云和腾讯云,会提前预装好常用的工具。如果暂时没有云服务器的,也可以用本地装有ubuntu系统的电脑当成服务器进行操作。

ssh登录

云服务器一般都可以直接进行ssh登录,若是自己的ubuntu电脑,则可能需要先安装 OpenSSH Server,否则ssh会登录失败

sudo apt-get install openssh-server

然后查看服务器的ip地址,可看到服务器地址为172.16.202.129,之后都将使用这个地址进行登录

image1

本地打开命令行工具,ping一下服务器确认能否ping通

image2

通过ssh登录,此处的hd为服务器管理员用户名

ssh hd@172.16.202.129

登录成功后显示

image4

安装git

服务器安装git(一般的云服务器都会预先安装好git)

sudo apt-get install git

查看git是否成功安装

image5

创建git用户

创建一个git用户,专门用来运行git服务

sudo adduser git

输入git的密码,然后默认一路敲回车

image6

此时便在服务器创建了git用户

我们可以尝试先退出hd用户,换成git登录

image7

登录成功后的用户为git

创建正书登录

切换回之前的管理员用户

/home/git/ 目录下创建 .ssh 文件夹

sudo mkdir .ssh

.ssh文件夹中创建authorized_keys文件

将本地的id_rsa.pub 内容保存到authorized_keys文件中

image8

初始化Git仓库

选定一个目录作为仓库,在/srv目录下创建git目录,以后所有的仓库都保存在这个目录下

/srv/git目录下输入命令创建一个裸仓库

sudo git init --bare demo.git

服务器上的仓库通常都以.git结尾,然后把owner改为git

sudo chown -R git:git demo.git/

image9

禁用ssh登录

出于安全考虑,git用户不允许ssh登录,修改配置文件/etc/passwd

image10

git:x:1001:1001:,,,:/home/git:/bin/bash

改为

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

试着再用命令行登录git用户,发现已经不能登录了

image11

本地克隆仓库

在命令行输入命令

git clone git@172.16.202.129:/srv/git/demo.git

可以看到刚刚在服务器创建的裸仓库已经clone到本地了

image12

试着在demo目录下创建一个文本文件,然后提交到服务器

image13

创建同步代码的用户

登录服务器,再创建个用户

sudo adduser moshuqi

然后用这个用户进行登录,在用户的根目录下新建个文件夹code,专门用来保存代码

code目录下拷贝仓库

git clone /srv/git/demo.git/

拷贝完成后即可看到我们之前在本地提交的文本文件

image14

其他

本地的id_rsa.pub信息若没有保存在authorized_keys里,同步代码和提交代码时会要求输入用户密码。

有时候即使服务器加上了id_rsa.pub信息也会要求输入密码,则有可能是authorized_keys文件的owner没有修改成git。

当有多人需要用到仓库时则把多份id_rsa.pub信息依次保存到authorized_keys里即可。

—— End ——

想留言却没看到评论框?点这里。

Post Directory