请教各位平时是怎么协作开发的
之前一个人干,现在多了一个人 ,想两个人共用一套代码和服务器,需要代码同步,各位用的是什么呢
来自酷炫的 CNodeMD
16 回复
@TimLiu1 @yinxin630 @Lizhooh @zswnew @nullcc 就是用了git,目前是用的gitolite,然后有个问题是他生成的git文件是空的,我希望不但代码能够同步,而且代码要运行在代码同步服务器上,再自动重启,我跟新同事就可以push上去就能看到变化了,
2 个人还折腾什么。
服务器上直接
mkdir /home/git/project
cd project
git init --bare
就可以创建一个"裸库"了,然后直接 ssh 就可以连上去:
git clone xx@xxx:/home/git/project
ssh 不用密码用公钥的办法自己网上找下吧。
你说的"自动重启"的功能,在服务端,hooks 中,作一个 post-receive 文件,里面的内容你想实现什么都可以,什么部署,重启,随便。(当前提交的一些信息是从"标准输入"传递的)
@yszou 我也不想呀。。。但是都了解到这个份上了。。。稍微弄个高级点的也不过分呀。。 就是post-receive有问题, 我是这样做的,服务器克隆服务器上的git公共库作代码实体。。。然后在post-receive里面
#!/bin/bash
cd /path_to_project
git pull
就这么两句话,就是不工作。。。
- 你那个
path_to_project是你事先git clone下来的代码库? - 你这个
post-receive有可执行权限?
你把你的 post-receive 所在的目录,及上级目录的 tree 发出来看看吧。
@yszou 谢谢,就是权限导致的...运行钩子的时候没有用户文件夹的权限, 然后代码要改
#!/bin/bash
cd /path_to_project
unset GIT_DIR
git pull