设为首页 收藏本站
查看: 854|回复: 0

[经验分享] Linux的centos搭建git服务器

[复制链接]
累计签到:39 天
连续签到:1 天
发表于 2015-10-29 16:05:39 | 显示全部楼层 |阅读模式
  1.安装git用yum install git(服务器)
  
  1.1.添加git用户和密码(服务器)
  adduser git
  passwd git 123
  
  1.2.禁止shell登陆如果不知道git在哪里用:which git-shell 查找出来填写正确路径(服务器)
  编辑/etc/passwd



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



git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
  
  2.创建裸仓库(服务器)



[iyunv@localhost]$ mkdir /home/workspace
[iyunv@localhost]$ cd /home/workspace
[iyunv@localhost]$ git init --bare wwwroot.git
  5.0.1.给权限(服务器)



chown -R git:git wwwroot.git
  5.0.2生成用户秘钥( 服务器端id_rsa.pub公钥, id_rsa私钥,记住生成的目录位置)



ssh-keygen -t rsa
  
  5.1你本地安装好git之后(客户端)



$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
  要配置你本地git的名称和邮箱
  5.2生成秘钥(客户端一路按下去不要加密码,直接回车即可)



ssh-keygen
  5.3把生成的秘钥送给服务器(客户端)
  客户端的id_rsa.pub秘钥内容到服务器端用户目录.ssh目录下面authorized_keys里面的,如果没有下面目录,直接新建创建出来(注意:目录是在git服务器上面建立,然后把本地id_rsa.pub内容添加到服务器的authorized_keys文件中)(home目录设置权限755、authorized_keys文件权限为644)



home/git/.ssh/authorized_keys
  
  6.用clone远程下载git项目(客户端)



git clone git@115.28.38.789:/home/workspacewwwroot.git
  IP和路径一定要填写正确
  7.客户端可以操作git相关操作了
  git pull origin master (更新之前代码同步到本地)
  git add *
  git commit -m 'add'
  git remote add origin git@115.28.38.789:/home/workspacewwwroot.git   (只在第一次关联的时候使用,第二次不需要在使用,直接push就可以了)
  git push -u origin master (第一次的时候使用)
  git push origin master
  项目每次修改或添加就可以这些命令完成
  8.进行git和web目录关联,同步浏览网站
  设置钩子,这样每次运行git就可以同步提交浏览网站了(注意:使用钩子你要把你同步到的web目录chown更改为git用户使用权,钩子才能正确生效)



[iyunv@localhost]$ cd /home/workspace/wwwroot.git/hooks
[iyunv@localhost]$ cp post-receive.sample post-receive
[iyunv@localhost]$ cat > post-receive <<EOF
>#!/bin/bash
>git --work-tree=/www/web/duoduo/public_html checkout -f
>EOF
[iyunv@localhost]$ chown git:git post-receive
[iyunv@localhost]$ chmod +x post-receive
使用钩子你要把你同步到的public_html目录chown更改为git用户使用权,钩子才能正确生效
  钩子的第二种方法:



#!/bin/sh
export LANG=zh_CN.UTF-8
cd  /home/website/wwwroot/
unset GIT_DIR
git pull origin master
   注意你提交到哪个文件夹把对应文件夹设置为git用户
  git提交代码每次输入密码很麻烦,下面文章可以解决
  http://www.chenyudong.com/archives/tortoisegit-use-key-authentication.html
  
  分布式服务器,每一个电脑都可以作为git服务器,每个电脑都是一个节点!祝君好运!
  
DSC0000.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-132479-1-1.html 上篇帖子: linux下Github 同步与下载 下篇帖子: CentOS 6.5 minimal 安装 Gitlab 7.5
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表