简介:
git是一个开源的版本管理软件,通过git可以方便地进行软件的协同开发、历史回溯等,下面是一个最简单的git服务器搭建和测试步骤,为了方便,后面还有一个一键自动化搭建的脚本。前提是对git有一定了解,并且已经安装好git。
一、最简git服务器搭建和测试
服务端搭建:
说明:搭建一个空的hello.git的远程仓库(ip:192.168.1.155)
1.添加git用户
sudo useradd -m git
sudo passwdgit
su git
2.进入/home/git并初始化空的仓库,结果如图1所示,创建了一个名为hello.git的代码仓库
cd /home/git
git init --bare hello.git
图1 hello.git代码仓库客户端测试:
说明:初始化一个本地仓库,然后推送到服务端
1.新建一个hello的目录,并写一段helloworld的代码
2.在hello目录下创建一个git仓库,并提交一次
git init
git add --all
git commit
3.添加远程代码仓库
git remote add origingit@192.168.1.155:/home/git/hello.git
4.推送master分支到远程,执行结果如图2所示,服务端多了一个master分支
git push origin master
图2 客户端测试流程5.到另外一个目录下克隆远程仓库
git clonegit@192.168.1.155:/home/git/hello.git
二、最简git服务器自动化搭建脚本
说明:创建git仓库并搭建一个空的hello.git的远程仓库(ip:192.168.1.155)
脚本源码:
gitnew.sh:
#!/bin/sh
parmNum=$#
if [ $parmNum -eq 0 ];then
echo "Run as:"
echo "1.Create git account and repertory: ./gitnew.sh repertory"
echo "2.Create git account only: ./gitnew.sh null"
exit
fi
repertory=$1
echo "[$0]:Add git account:"
sudo useradd -m git
echo "[$0]:Passwd git account:"
sudo passwd git
if [ $repertory != "null" ];then
cd /home/git
repertory_git="$repertory.git"
echo "[$0]:Create $repertory_git"
sudo git init --bare $repertory_git
sudo chown -R git:git $repertory_git
cd -
fi
echo "[$0]:Enjoy"
运行结果:
脚本运行完成之后,如图3所示,创建好了一个hello.git的远程仓库,跟上面的一模一样。
图3 自动化脚本创建代码仓库三、解决客户端推送和克隆要输入服务端git登录密码的问题
1.在服务端/home/git目录下新建一个.ssh目录
mkdir .ssh
2.在.ssh目录下新建一个authorized_keys文件
touch authorized_keys
3.把客户端的ssh公钥写到authorized_keys文件中,一行一个
echo **** >>authorized_keys
网友评论