Git daemon服务器架设指南

ⅰ亾dé卋堺 提交于 2019-12-05 23:59:15

假设你的操作系统是Ubuntu 14.04,用户名是Mike。你的git项目MyProject的目录是/home/Mike/workspace/MyProject,你想在/home/Mike/share/MyProject.git目录上架设支持“git://”协议的远程服务器,那么你需要做如下几步:

1,打开终端安装git,在终端输入命令:

sudo apt-get install git

,如果你已经安装git可以略过此步;

2,进入/home/Mike/workspace目录,在终端输入命令:

git clone --bare MyProject MyProject.git

。完成后,git将会在同一目录下创建MyProject.git目录,里面只包含裸仓库(bare repository);

3,在MyProject.git目录里创建一个空的git-daemon-export-ok文件,并将MyProject.git目录移动到/home/Mike/share/MyProject.git。你可以完全借助Ubuntu的文件管理器完成;

4,打开终端启动git守护进程,在终端输入命令:

git daemon --reuseaddr --base-path=/home/Mike/share /home/Mike/share/MyProject.git

。此时,git守护进程开始运行,并监听端口号9418。停止git守护进程只需要关闭终端即可。

5,默认按照上述步骤,远程用户只能通过“git://”协议获得读取权限(git clone),如果需要获得写入权限(git push),那么只需要进入/home/Mike/share/MyProject.git目录,在终端输入命令:

git config daemon.receivepack true

,git将会在该目录的config文件中添加如下配置:

[daemon]
	receivepack = true


完成以上几步后,远程服务器就架设好了。在终端输入命令:

git clone git://localhost/MyProject.git

,就会正确地在当前目录克隆一个MyProject项目仓库了。

注意:git的守护进程会监听端口9418,所以,你需要在Ubuntu防火墙上将此端口添加为例外,在终端输入命令:

sudo ufw allow 9418

即可。

注意:在启动git守护进程的命令中,--base-path后的目录将会作为远程访问服务器时的前缀目录,如果用下面这条命令启动git守护进程:

git daemon --reuseaddr --base-path=/home /home/Mike/share/MyProject.git

那么远程访问时就需要用

git://localhost/Mike/share/MyProject.git



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!