• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

git笔记

武飞扬头像
wx63ec8c81ec2c9
帮助1

一.服务器端

1.yum安装Git服务器

yum install -y git

2.创建一个git用户,用来运行git服务

useradd git

3.创建客户端登录证书

注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsa.pub文件,把所有公钥复制到/home/git/.ssh/authorized_keys文件里,一行一个。

ssh-keygen -t rsa

注意不能忘记私钥的密码。默认会生成~/.ssh/id_rsa.pub公钥文件。

cd /home/git

mkdir .ssh

cp -a ~/.ssh/id_rsa.pub /home/git/.ssh/authorized_keys

chmod 755 /home/git/.ssh/authorized_keys

4.初始化Git仓库

mkdir -p /home/data/git

cd /home/data/git

git init –bare project.git

执行以上命令 Git命令,会创建一个裸仓库,会生成branches config description HEAD hooks index info objects refs文件和目录。裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git

chown -R git:git project.git

5.禁用shell登录

注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

cat /etc/passwd | grep git

git:x:1002:1002::/home/git:/bin/bash

vim /etc/passwd

git:x:1002:1002::/home/git:/usr/bin/git-shell

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

6.克隆远程仓库

注,现在可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:

客户端生成id_rsa.pub文件的命令

ssh-keygen -t rsa

注,$ git clone git@git.jjhh.com:/home/data/git/project.git,其中git用户名,git.jjhh.com服务器,/home/data/git/prgject.git是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。

同步

cd /home/testgit/sample.git

cd hooks

//这里我们创建post-receive文件

vim post-receive

//在该文件里输入以下内容

#!/bin/bash

git –work-tree=/home/www checkout -f

//保存退出后,将该文件用户及用户组都设置成git

chown git:git post-receive

//由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限

chmod x post-receive

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhibhjhg
系列文章
更多 icon
同类精品
更多 icon
继续加载