在linux 创建一个仓库
cd /home
mkdir git
useradd git
cd git
git init --bare repo.git
chown -R git:git /home/git
在 git 目录里面创建 .ssh
cd /home/git
mkdir .ssh
cd .ssh
touch authorized_keys
将可以登录的 ssh 公钥 添加到 authorized_keys,并确认是否都是git 权限。
cd /data
mkdir repo
cd repo
git init
cd .git
vi config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = /home/git/repo.git/
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[user]
email = xx@xx.com
name = xxx
然后再添加一个 钩子
cd /home/git/repo.git
cd hooks
touch post-update
vi post-update
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
#exec git update-server-info
echo $(date) >> /data/sync_git.log
unset GIT_DIR
cd /data/repo/
/usr/bin/git pull