linux自建git仓库

一 安装git,设置git用户(当前操作是root用户)

1.安装git

yum install git

2.创建git用户

groupadd git
useradd git -g git

3.创建证书登录

收集用户的公钥,公钥是用户自己生成,不懂的可以看看 https://www.cnblogs.com/JahanGu/p/9884344.html

把公钥导入到authorized_keys文件里面

cat id_rsa.pub>>authorized_keys

也可以直接打开公钥复制里面的内容粘贴到authorized_keys文件里,一行一个;

cd /home/git

mkdir .ssh

chmod 755 .ssh

touch .ssh/authorized_keys

chmod 644 .ssh/authorized_keys

4.初始化git仓库

选定一个目录作为我们的git仓库,例如:/home/mygit/demo.git

cd /home
mkdir mygit
chown git:git mygit/
cd mygit

git init --bare demo.git

执行初始化会输出

Initialized empty Git repository in /home/mygit/demo.git/

初始化成功之后就可以在本地客户端clone了

二 本地客户端测试(可以安装source tree工具操作)

git clone ssh://[email protected]:22/home/mygit/demo.git

git clone ssh://{服务端用户}@{你的ip}:{端口号默认是22,如果不是22就写,否则不用写}{你的仓库路径}

试着提交一个文件看看

touch test.txt
git add .
git commit -m ‘test‘
git push origin master

此时你到服务器找这个test.txt文件是看不到的

(注意 --bare参数创建的裸仓库,就是没有工作区的,提交上来的文件是看不到的)

(1) 如果要创建一个可以看到项目文件的仓库就按照下面操作执行

git init demo.git
cd demo.git
git config receive.denyCurrentBranch ignore 

最后一句命令是允许文件上传到远程服务器,不执行这句,客户端无法提交文件到服务器

其实就是在/home/mygit/demo.git/.git/config文件里面添加了

接下来创建钩子在/home/mygit/demo.git/.git/hooks目录下新建文件post-receive

vim post-receive
#!/bin/sh
unset GIT_DIR  //清空git的工作目录,(没有使用该代码,报错:remote: fatal: Not a git repository: ‘.‘)
cd .. git checkout -f

给post-receive执行权限

chmod 755 post-receive

接下来在客户端执行提交文件,在/home/mygit/demo.git仓库里面就可以看到文件啦;

(2) 如果要创建一个自动更新的web项目按照下面操作执行

首先创建一个web项目目录例如/home/myweb/把这个目录拥有者变成git

从新更新钩子post-receive的代码

#!/bin/sh
unset GIT_DIR  //清空git的工作目录,(没有使用该代码,报错:remote: fatal: Not a git repository: ‘.‘)
cd .. git checkout -f
WORK_TREE=‘/home/myweb‘
git --work-tree="${WORK_TREE}" reset --hard

现在在客户端提交一个文件,在/home/myweb目录下面就看到文件了,只有操作master提交才会有文件

原文地址:https://www.cnblogs.com/JahanGu/p/9989891.html

时间: 2024-10-18 18:46:14

linux自建git仓库的相关文章

centos/debian配置gitlab 7.1x来搭建自建的git仓库.

centos/debian配置gitlab 7.1x来搭建自建的git仓库. 前言:因为公司的某些历史原因, 有大量的代码还在csv/svn上. 新来的项目不得不走这个,同时,github的enterprise 2500$/y/10p的价格对于多变的项目和人员也不合适. 也为了让某些不习惯使用linux的开发使用上git, 就放弃了之前的gitolite server, 进而采用gitlab来搭建. www.gitlab.com 是gitlab的仓库, 以前的历史版本, 需要先配置gitolit

【转】linux之自建yum仓库

原链接:http://www.live-in.org/archives/1410.html 平时使用yum方式安装更新软件,可以自建一个yum源,同步官方更新源,这样如果本地有机器要升级的话就可以直接使用本地的更新源了.这里系统为CentOS 6.2. 一.服务端1.安装需要的环境自建yum本地更新源可以使用http服务或ftp服务,由于ftp服务器要考虑防火墙配置,主动.被动连接模式,这里使用http服务. 安装apache: yum install httpd 配置apache过程略过. 2

如何在Linux下使用Gitblit工具创建Git仓库服务

嗨!朋友,今天我们将学习如何在你的Linux服务器或者PC上安装Gitblit工具.首先,我们看看什么是Git,它的功能以及安装Gitblit的步骤.Git是分布式版本控制系统,它强调速度.数据一致性,并且支持分布式.非线性工作流.它最初由Linus Torvalds在2005年为Linux内核设计和开发,使用GPLv2证书,并从此成为软件开发中使用最广泛的版本控制系统. Gitblit是完全开源的软件,它基于纯粹的Java堆栈,被设计以在Git仓库速度和效率方面胜任从小型到极大型的项目.它很容

和菜鸟一起学linux之本地git中心仓库建立

http://blog.csdn.net/eastmoon502136/article/details/7735957 1.首先建立一个文件夹用以测试 2.在test中写入一个main.c的文件 其内容如下: 3.然后就建立一个git仓库了 4.然后就是把内容加进去了,上传上去 5.然后我们看下git log的信息 6.有东西了吧?说明上传好了.然后就是要在建立一个git中心仓库repos了. 他是clone了刚刚那个git仓库的. 7.已经建立好了,接着我们继续看看去下载下来,并且上传代码之类

linux 创建git 仓库

#创建一个工作区 mkdir test_work #创建一个git 仓库(服务库,非工作区) mkdir test_git cd test_git git init --bare # 创建一个post-receive 勾子,用于提交代码后,自动将代码更新到 工作区 test_work vim ./hooks/post-receive #! /bin/sh GIT_WORK_TREE=test_work git checkout -f sudo chmod -R 777 test_work # 将

自建git服务器搭建使用记录

Git本地中文文件名问题解决 linux环境 //Git本地中文文件名问题解决 git config --global core.quotepath false 克隆自建的Linux上的远程仓库 //1 创建用户 git config --global user.name "你的名字" git config --global user.email "你的邮箱" //2 创建秘钥(用来防止每次commit或push都需要密码) ssh-keygen -t rsa -C

GIt帮助文档之创建新的Git仓库——现有目录下,通过导入所有文件来创建

1.新建仓库初始化操作 1.1打开Git Bash命令窗口,切换到项目文件夹目录: $ cd weixin 1.2执行命令: $ git init 初始化操作,把项目weixin纳入Git管理.初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中. 可能问题:未出现.git目录 问题分析:windows系统下,.git目录是隐藏的,可点击菜单栏中"查看",勾选"隐藏的项目",即可看到weixin目录下出现.git子

在Dropbox上搭建私有的Git仓库的教程

导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教程. 一.在Dropbox的文件夹下创建远程repository文件夹(.git后缀) cd ~/Dropbox/project mkdir demo.git 二.进入demo.git文件夹并初始化repository cd demo.git git init --bare 三.创建完毕,现在创建一

在LINUX上创建GIT服务器【转】

转自:http://blog.csdn.net/xiongmc/article/details/9176785 如果使用git的人数较少,可以使用下面的步骤快速部署一个git服务器环境. 1. Client生成 SSH 公钥,以便Server端识别. 每个需要使用git服务器的工程师,自己需要生成一个ssh公钥 进入自己的~/.ssh目录,看有没有用 文件名 和 文件名.pub 来命名的一对文件,这个 文件名 通常是 id_dsa 或者 id_rsa. .pub 文件是公钥,另一个文件是密钥.假