Git服务器搭建+上传代码
2015-08-22 20:42
197 查看
git服务器搭建+上传代码
git服务器搭建
下载git
apt-get install git //ubuntu
创建git专用用户
sudo adduser git
创建登陆证书
将所有登陆用户的id_rsa.pub中的公钥放入/home/git/.ssh/authorized_keys文件内,一行一个。创建一个仓库
git init--bare myrepo.git
裸仓库中包含了.git仓库的大部分内容,但是这只个记录记录的目录,并不对文件进行保存。不过这里我用了普通的仓库。
git init
修改文件权限
将/etc/passwd中的git:x:1001:1001:,,,:/home/git:/bin/bash
修改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
客户端上传代码
clone
git clone git@serverIP:/REPO_PATH/
git hooks
其实写到这里会有一个问题,这里能clone下来,但是当git push时,会遇到服务器端只有log改变,但是没有合并到主分支中。必须要用git reset –herd回退才行。所以我查阅了资料之后用git自己的hooks进行触发接收事件:post-reveive。#!/bin/sh unset $(git rev-parse --local-env-vars) cd /DESTINATION_PATH/ /usr/bin/git reset --hard
这里其实还会碰到一个问题,如果在shell脚本中直接写:
cd /DESTINATION_PATH/ /usr/bin/git reset --hard
是会无法达到效果的,因为其实git操作会有GIT_DIR环境路径的,所以需要unset去除环境变量。
相关文章推荐
- c++/tcl编程总结
- Java生成CSV文件
- C++设计模式——组合模式
- Java字符串操作、基本运算方法等优化策略
- Matlab中函数句柄@的作用及介绍
- Java 注解的简单学习与应用 Annotation
- ssh界面传对象到controller-页面和controller代码
- Java Map接口TreeMap
- 解决EditorLineEnds.ttr被锁定导致Delphi2006-2010无法启动的问题
- eclipse最有用快捷键整理
- Spring-管理bean
- C++ 常量折叠和C语言中const常量对比
- Java学习笔记,基础总结(一)
- Java集合Set、List、Map的遍历方法
- 通过java的反射从list中取出对象从而取出属性值
- Java Map接口LinkedHashMap
- socket编程--socket基本概念
- C#值类型与引用类型
- Socket编程步骤
- Python爬虫学习记录(1)——百度贴吧图片下载