昨天做了一个Redmine的项目管理,建一个Redmine项目,把git关联到Redmine,关联的目的是可以看到版本的提交,如果发现有问题,可以找回之前的代码。
步骤可以参考:http://blog.csdn.net/marujunyy/article/details/8725490
首先建立一个文件夹
mkdir /var/git-miroors cd /var/git-miroors
接下来,要使用 git clone --mirror 建立一个原始repo的镜像
git clone --mirror your/gitolite/path/your-repo.git
接下来下一步,由于之后 git 使用者会透过post-receive hook来同步两个repository,我们直接修改这个镜像repository的owner / group为 git 来让它有读写权限。
chown -R git:git your-repo.git
再来要设定原本repo的hooks:
cd your/gitolite/path/your-repo.git/hooks
nano post-receive
在hook post-receive 设定git push到镜像repo的动作:
#!/bin/sh
/usr/bin/git push --mirror /var/git-mrrors/your-repo.git
建立完 post-receive 文件后修改权限:
chown git:git post-receive chmod 700 post-receive
由于Git 在做mirror push 的时候,会保留原始的档案与文件夹存取权限,在gitolite 管理下,只有owner 有读写权限,所以一做mirror push 这个镜像的repository 就没办法被
其他process 读取到了,所以我们一开始就要告诉这个mirror repository 它是被分享的,并且设定它应该要有的存取权限:
cd /var/git-mirrors/your-repo.git chmod a+rX -R ./ git config --add core.sharedRepository 644
然后在Redmine 的Project / Settings / Repository 里,设定路径
点选Project / Repository 等待一下,让Redmine 处理Repository 的信息,然后就可以看到Repo 的信息了