如何在你自己的服务器搭建类似github的服务,git部署站点
前言:如果你使用git管理代码(不希望公开的),但是没有钱买github的服务,你可以再自己的服务器上搭建git服务器(这里只写支持ssh协议的,与github差的太远了,希望不要怪我这个标题党)。同时如果你用git部署项目的话,只需要一条pull命令就可以把测试机上的代码更新到线上(之前我还傻傻的登录线上机子然后pull,其实只需要在本地push一下就好)。
?
参考资料:《git权威指南》
http://www.ooso.net/archives/596
?
-.搭建支持ssh协议的git服务器
?
1:linux服务器上安装好git(可以参考:http://help.github.com/linux-set-up-git/)
?
2:本地安装git软件(参考:http://help.github.com?里面的set up git)
?
3:给支持git操作的用户添加认证信息,在用户家目录(~/home)新建.ssh文件夹:将本地(就你开发机子上的~/.ssh/id_rsa.pub)添加到服务器上~/.ssh/authorized_keys
?
4:在linux服务器上创建项目的共享版本库(git init --bare --share;git update-server-info)
?
5:然后你就可以使用了,操作跟你操作github一样(?git clone 添加了认证信息的用户名@服务器域名(或者ip):/项目路径)
?
二.git部署你的项目
?
1:.在你部署的机子上通过git clone把版本库中的代码克隆一份
?
2:设置部署机上的项目git配置
git config receive.denyCurrentBranch ignore
git config --bool receive.denyNonFastForwards false
?
update
在本地库加上
[remote "webdev"]
??????? url = your-ssh-username@your-host:/var/www/yoursite/
然后你就可以
git psuh origin master
git push webdev
省去了在登陆web服务器pull的步骤。
这么强大的git了这是值得学习。
?
[注]:大部分的git push失败都是有权限导致的,当push失败(除冲突除外),先去检查权限问题。
1 楼 superhanliu 2012-03-27 好文章,建议更详细一点,弄个完整的指南就更好了 2 楼 xiaoshenge 2012-03-27 superhanliu 写道好文章,建议更详细一点,弄个完整的指南就更好了