1 server
1)增加一个名为git用户
创建一个目录 例如 test.git
cd test.git
git --bare init
2)配置hook
修改 hook目录下的 post-receive
ln -s /usr/share/git-core/... /post-receive post-recieve
修改config文件
增加如下字段
例如
[core]
repositoryformatversion = 0
filemode = true
bare = true
sharedrepository = 0640
name = "My name"
email = "email"
[receive]
denyNonFastforwards = true
[hooks]
mailinglist = mail.list
emailprefix = "[COMMIT] "
showrev = "git show -C %s; echo"
emailmaxlines = 2048
envelopesender = 'Name <mail.com>'
cp config confige (不确定这步是干吗的)
经测试,当客户端向该服务器提交commit时,mailinglist指定的邮箱会收到邮件
2 client
1) git clone git@xxx.xxx.xxx.xxx:/xxx/test.git
commit project
git push origin master
2) 修改 .git/config
增加一个字段
例如
[remote "test"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@9.181.129.59:/home/git/git_repo/TEST.git
git push test master 向该远程服务器push