如何在Debian服务器上安装公共Git存储库
Git是一个免费的分布式版本控制,最初由Linus Torvalds为Linux内核开发创建。 它主要在Linux上开发,但可用于其他Unix操作系统,包括BSD,Solaris和Darwin。 基于POSIX的系统,如Linux,Git非常快。 它与svn不同,并在远程服务器上创建一个私有存储库。
一些流行的项目使用Git:
* YUI
* Merb
* DragonFly BSD
* GPM
*吉特
* Linux内核
* Perl
侏儒
* Ruby on Rails
* Android
* 红酒
* Fedora
* X.org
* VLC
*原型
那么我们将重点介绍如何在Debian发行版上安装git和gitweb。 gitweb是一个用Perl编写的git web界面,可以用作CGI脚本或者作为mod_Perl,它将允许我们浏览git仓库。 开始吧。
使用aptitude从Debian存储库获取git和gitweb软件包:
$ sudo aptitude install git-core gitweb
创建一些有用的目录: / var / cache / git
(git repository), / var / www / git
包含gitweb.cgi
:
$ sudo mkdir /var/www/git
$ [ -d "/var/cache/git" ] || sudo mkdir /var/cache/git
在我们的示例中,目录/ var / www
是Apache的DocumentRoot; 在Apache配置目录中进行git配置:
$ sudo cat vim /etc/apache2/conf.d/git
<Directory /var/www/git> Allow from all AllowOverride all Order allow,deny Options ExecCGI <Files gitweb.cgi> SetHandler cgi-script </Files> </Directory> DirectoryIndex gitweb.cgi SetEnv GITWEB_CONFIG /etc/gitweb.conf
将gitweb.cgi
,logo和css文件移动到/ var / www / git中
:
$ sudo mv /usr/share/gitweb/* /var/www/git
$ sudo mv /usr/lib/cgi-bin/gitweb.cgi /var/www/git
在/etc/gitweb.conf中
进行一些更改:
$ sudo vim /etc/gitweb.conf
$projectroot = '/var/cache/git/'; $git_temp = "/tmp"; #$home_link = $my_uri || "/"; $home_text = "indextext.html"; $projects_list = $projectroot; $stylesheet = "/git/gitweb.css"; $logo = "/git/git-logo.png"; $favicon = "/git/git-favicon.png";
将git配置重新加载到Apache中:
$ sudo /etc/init.d/apache2 reload
首先,通过创建一个存储库并设置名称和电子邮件,在我们的项目中初始化git:
$ cd /var/cache/git/
$ mkdir project.git
$ cd project.git
$ git init
$ echo "Short project's description" > .git/description
$ git config --global user.name "Your Name"
$ git config --global user.email "you@example.com"
$ git commit -a
使用文件git-daemon-export-ok可以
将存储库标记为导出。
$ cd /var/cache/git/project.git
$ touch .git/git-daemon-export-ok
Git有一个用于git存储库的迷你服务器。 它小巧可爱,适合共享存储库。 使用我们的存储库作为基本路径启动git守护程序,base-path不应该以斜线结尾。
$ git daemon --base-path=/var/cache/git --detach --syslog --export-all
现在,git守护进程正在您计算机上的端口9418上运行,我们可以开始使用URL git:/// location
。 您可以将其复制到您的开发环境中:
$ git clone git://server/project.git project
如果我们的克隆成功,我们现在应该有一个名为project
的本地目录。