Git 服务器搭建

接下来我们将以 Centos 为例搭建 Git 服务器。

1、安装Git

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

接下来我们 使用root账户创建一个git用户组和用户,用来运行git服务:

$ groupadd git
$ adduser git -g git

2、创建证书登录

收集所有需要登录的用户的公钥,公钥位于id_rsa.pub(请参考Git SSH Key 生成步骤)文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

如果没有该文件创建它:(注意先使用su git 切换到git用户)

$ su git

$ cd /home/git/

3、初始化Git仓库

首先我们选定一个目录作为Git仓库,假定是/home/git/test.git,在/home/git目录下输入命令(也是在git用户的权限下进行):

$ cd /home/git
$ git init --bare test.git
Initialized empty Git repository in /home/git/test.git/

这个时候git仓库就建好了!

补充:想要把自己的应用目录关联到该仓库下,假设我的应用目录是/Data/webapps/test

注意:post-receive文件需要有可执行权限,钩子才会起作用

vi /home/git/test.git/hooks/post-receive
添加上
#!/bin/sh
#GIT_WORK_TREE=/Data/webapps/test git checkout prod -f
git --work-tree=/Data/webapps/test --git-dir=/home/git/test.git checkout -f development

4.windows客户端clone代码

参考Git本地仓库(Repository)详解里面git的安装和Git SSH Key 生成步骤里面具体如何clone

5.git clone后,添加文件,然后提交文件,再push后,/Data/webapps/test/ 下面就有对应的新文件了

比如在目录下创建了一个test.txt文件,然后在git bash 终端里依次执行以下代码:

git add test.txt

git commit test.txt -m 'commit'

git push origin master 

这个时候,服务器/Data/webapps/test/目录下就有test.txt文件了!

注意:如果提示permission denied,可以尝试设置 如下:chmod -R 777 /Data/webapps/test/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏JAVA烂猪皮

Zookeeper的简介和应用场景

Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务 A、zookeeper是为别的分布式程序服务的 B、Zookeeper本身就...

15010
来自专栏月牙寂

k8s源码分析-----kubectl(1)api.RESTMapper

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

47160
来自专栏重庆的技术分享区

前端安全问题

22740
来自专栏云原生架构实践

Jhipster技术栈理解 - UAA原理分析

密码模式(Resource Owner Password Credentials)中,用户向客户端提供自己的用户名和密码。客户端使用这些信息,向"认证服务器"进...

34930
来自专栏云计算教程系列

使用Apache或Nginx加密Tomcat流量

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Serv...

19760
来自专栏python学习路

二、urllib进阶

Handler处理器 和 自定义Opener opener是 urllib.request.OpenerDirector 的实例,我们之前一直都在使用的ur...

31750
来自专栏王清培的专栏

聊下 git 多账户问题

git 多账户问题 标签(空格分隔):git github gitlab git多账户 背景 git 多账号配置 ssh 多密钥对配置 背景 在使用 git 的...

23470
来自专栏运维小白

2.8 创建和删除目录mkdir/rm

mkdir mkdir = make directory mkdir就是创建目录,不能级联创建目录 date 显示当前时间 mkdir -p ...

21290
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Apache或Nginx加密Tomcat 8连接

Apache Tomcat是一个Web服务器和servlet容器,旨在为Java应用程序提供服务。Tomcat经常用于生产企业部署和较小的应用程序需求,既灵活又...

51530
来自专栏C/C++基础

Linux命令(40)——nohup命令

nohup的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和&命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运...

12720

扫码关注云+社区

领取腾讯云代金券