假设你的操做系统是Ubuntu 14.04,用户名是Mike。你的git项目MyProject的目录是/home/Mike/workspace/MyProject,你想在/home/Mike/share/MyProject.git目录上架设支持“git://”协议的远程服务器,那么你须要作以下几步:git
1,打开终端安装git,在终端输入命令:shell
sudo apt-get install git
,若是你已经安装git能够略过此步;
服务器
2,进入/home/Mike/workspace目录,在终端输入命令:spa
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的文件管理器完成;code
4,打开终端启动git守护进程,在终端输入命令:进程
git daemon --reuseaddr --base-path=/home/Mike/share /home/Mike/share/MyProject.git
。此时,git守护进程开始运行,并监听端口号9418。中止git守护进程只须要关闭终端便可。
get
5,默认按照上述步骤,远程用户只能经过“git://”协议得到读取权限(git clone),若是须要得到写入权限(git push),那么只须要进入/home/Mike/share/MyProject.git目录,在终端输入命令:it
git config daemon.receivepack true
,git将会在该目录的config文件中添加以下配置:class
[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
。