Şimdi temel okuma/yazma ve salt okuma erişiminiz olduğuna göre, basit bir web tabanlı görselleştirici kurmak isteyebilirsiniz. Git bazen bu iş için kullanılan GitWeb adlı bir CGI betiği ile birlikte gelir.
Eğer sisteminizde lighttpd
veya webrick
gibi hafif bir ağ sunucusuna sahipseniz ve GitWeb’in projeniz için nasıl görüneceğini kontrol etmek istiyorsanız, Git bir geçici bir örnek başlatmak için bir komut içerir.
Linux makinelerinde genellikle lighttpd
yüklüdür, bu nedenle projeniz dizininde git instaweb
yazarak bunu çalıştırabilirsiniz.
Mac’te ise Ruby ile önceden yüklenmiş gelen Leopard bulunduğu için, webrick
belki en iyi seçeneğiniz olabilir.
instaweb
'i lighttpd olmayan bir işleyici ile başlatmak için --httpd
seçeneği ile çalıştırabilirsiniz.
$ git instaweb --httpd=webrick
[2009-02-21 10:02:21] INFO WEBrick 1.3.1
[2009-02-21 10:02:21] INFO ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
Bu komut, önce 1234 portunda bir HTTPD sunucusunu ve ardından otomatik olarak bu sayfada açılan bir web tarayıcısını başlatır.
Gördüğünüz gibi yapmanız gereken pek bir şey yok.
İşiniz bittiğinde ve sunucuyu kapatmak istediğinizde, aynı komutu --stop
seçeneği ile çalıştırabilirsiniz:
$ git instaweb --httpd=webrick --stop
Eğer web arayüzünü, ekibiniz veya barındırdığınız bir açık kaynak projesi için, sürekli bir sunucuda çalıştırmak istiyorsanız, CGI betiğini normal web sunucunuz tarafından sunulacak şekilde kurmanız gerekecektir.
Bazı Linux dağıtımlarında apt
veya dnf
üzerinden kurabileceğiniz bir gitweb
paketi bulunabilir, bu nedenle önce bunu denemek isteyebilirsiniz.
GitWeb’i nasıl hızlı bir şekilde manuel olarak kuracağınızı anlatacağız.
İlk olarak, GitWeb ile birlikte gelen Git kaynak kodunu elde etmeniz ve özel CGI betiğini oluşturmanız gerekiyor:
$ git clone git://git.kernel.org/pub/scm/git/git.git
$ cd git/
$ make GITWEB_PROJECTROOT="/srv/git" prefix=/usr gitweb
SUBDIR gitweb
SUBDIR ../
make[2]: `GIT-VERSION-FILE' is up to date.
GEN gitweb.cgi
GEN static/gitweb.js
$ sudo cp -Rf gitweb /var/www/
Dikkat edin, komuta GITWEB_PROJECTROOT
değişkeni ile Git depolarınızı nerede bulacağınızı belirtmeniz gerekmektedir.
Şimdi, Apache’nin bu betik için CGI’yi kullanmasını sağlamalısınız, bunun için bir sanal sunucu (virtualHost) ekleyebilirsiniz:
<VirtualHost *:80>
ServerName gitserver
DocumentRoot /var/www/gitweb
<Directory /var/www/gitweb>
Options +ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride All
order allow,deny
Allow from all
AddHandler cgi-script cgi
DirectoryIndex gitweb.cgi
</Directory>
</VirtualHost>
GitWeb herhangi bir CGI veya Perl yetenekli web sunucusu ile sunulabilir, yine de başka bir şey kullanmayı tercih ediyorsanız, kurulumu zor olmasa gerek.
Bu noktada, repolarınızı çevrimiçi görüntülemek için http://gitserver/
adresini ziyaret edebilmelisiniz.