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 条评论
登录 后参与评论

相关文章

来自专栏一“技”之长

Mac系统Git生成ssh公钥 原

        在使用Git仓库进行代码管理时,新的电脑上往往需要生成ssh公钥进行匹配,Mac系统生成Git公钥过程如下:

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

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

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

3853
来自专栏小狼的世界

SSH连接服务器并且拷贝文件

” Remote Host Identification Has Changed“

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

Linux命令(40)——nohup命令

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

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

使用Apache或Nginx加密Tomcat流量

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

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

如何在Ubuntu 16.04上配置Redis复制

Redis是一个开源键值数据存储,使用内存存储模型和可选的磁盘写入来实现持久性。它具有事务,发布/订阅消息传递模式以及其他功能之间的自动故障转移功能。Redis...

1770
来自专栏Jerry的SAP技术分享

如何给VirtualBox虚拟机的ubuntu LVM分区扩容

我在VirtualBox安装的ubuntu里安装Cloud Foundry时遇到错误信息,磁盘空间不够了:

3624
来自专栏IT开发技术与工作效率

Outlook清理邮件

1464
来自专栏月牙寂

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

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

4006
来自专栏JavaEdge

SpringBoot+Security 发送短信验证码在core模块下properties包中创建SmsCodeProperties在ValidateCodeProperties中new一个SmsCo

2906

扫码关注云+社区