Tuesday, July 10, 2012

建立/使用gitotlite来搭建自己的git 服务器


建立Gitolite服务器


我使用了gitolite来建立自己的git server http://wiki.dreamhost.com/Gitolite

在Gitolite服务器上添加一个新的repository


gitolite的admin操作不在服务器本机上进行. 相反, 你需要先把gitolite的admin相关repo给clone下来, 在你本地修改以后, push回去
$ git clone git@my_git_server_address:gitolite-admin
然后修改conf/gitolite.conf这个文件, 比如我的这个文件内容为
repo gitolite-admin
    RW+     =   apc999

repo my_fav_repo
    RW+     =   apc999
然后把改变给push回去
$ git add conf/gitolite.conf
$ git commit . -m "add a new project"
$ git push

把本地文件导入


$ cd /your/path/to/push
$ git init
$ git add .
$ git commit -m "init import"
$ git remote add origin git@my_server:my_fav_repo.git
$ git push origin master

Saturday, July 07, 2012

Git: funny ref

使用git的时候发现了这样的错误:
$git pull
error: * Ignoring funny ref 'refs/remotes/origin/master (sourcery's conflicted copy 2012-05-30)' locally
开始以为是我git的local copy有问题, 后来发现问题出在server端. 实际上在server的repositories/myrepo.git/refs/heads目录下发现一个叫master (sourcery's conflicted copy 2012-05-30)的文件. 于是把此文件删除后, client端就恢复正常了.