使用ssh快速建立git server

sh/bash/dash/ksh/zsh等Shell脚本
回复
wkt
帖子: 849
注册时间: 2006-09-07 22:51
联系:

使用ssh快速建立git server

#1

帖子 wkt » 2010-04-20 21:06

没想到搞git server超级简单.以下是我利用unix-center.net提供的ssh服务快速搭建git repository的脚步,
其实只要一个ssh服务+一个可用用户就可以了.修改脚本的sship,user,gitroot即可.
例如:
sship=127.0.0.1
user=root
gitroot=/var/cache/git
注意:使用的user必须对gitroot有读写权限.

代码: 全选

#!/bin/bash
###
### makegit written weiketing
###

##ssh server ip
sship=192.168.1.103

##Project name
pro_name="$1"

##set username
##must exist on ${sship}
user=wkt

###git repository root on ${sship}
###${user} must has write access to ${gitroot} on 
gitroot='/tmp/git'

[ -z "$pro_name" ] && exit 1
server_str="ssh://${user}@${sship}/${gitroot}"
cat <<end|ssh ${user}@${sship} /bin/sh
mkdir -p ${gitroot}/${pro_name}.git
cd  ${gitroot}/${pro_name}.git
git --bare init
exit
end

tmpdir=$(date +%Y_%m_%d_%H_%M_%S||echo ____)
mkdir -p /tmp/${tmpdir}/${pro_name}
cd /tmp/${tmpdir}/${pro_name}
git init
touch README
git add README
git commit -a -m "init"
git remote add origin ${server_str}/${pro_name}.git
git push origin master
rm  -rf /tmp/${tmpdir}
echo -e "\n*****Get source use commandline:\ngit clone ${server_str}/${pro_name}.git"

代码: 全选

-0-$ bash  /tmp/makegit gittest
wkt@192.168.1.103's password: 
Initialized empty Git repository in /tmp/git/gittest.git/
Initialized empty Git repository in /tmp/2010_04_20_21_17_07/gittest/.git/
[master (root-commit) 5ab7a0e] init
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README
wkt@192.168.1.103's password: 
Counting objects: 3, done.
Writing objects: 100% (3/3), 200 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://wkt@192.168.1.103//tmp/git/gittest.git
 * [new branch]      master -> master

*****Get source use commandline:
git clone ssh://wkt@192.168.1.103//tmp/git/gittest.git

代码: 全选

-0-$ git clone ssh://wkt@192.168.1.103//tmp/git/gittest.git
Initialized empty Git repository in /tmp/gittest/.git/
wkt@192.168.1.103's password: 
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 使用ssh快速建立git server

#2

帖子 eexpress » 2010-04-21 10:44

git本来就简单。
我都只用本地的。
额,别人用git写blog的。
● 鸣学
wkt
帖子: 849
注册时间: 2006-09-07 22:51
联系:

Re: 使用ssh快速建立git server

#3

帖子 wkt » 2010-04-21 15:26

eexpress 写了:git本来就简单。
我都只用本地的。
额,别人用git写blog的。
你是说可以git clone file://xxx/xx.git?
回复