'''NOTE:''' There is a [http://www.amahi.org/apps/gitweb one-click app] currently in ALPHA being tested.
[http://git-scm.com/ Git] is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do. Coupled with [http://sourceforge.net/apps/trac/sourceforge/wiki/GitWeb%20repository%20browser Gitweb], provides a web interface for browsing your project.
This tutorial will show you how to install, create a repo, and browse that repo on your HDA.
<li>Choose '''Create'''</li>
<li>[[Open_Terminal_as_root|Open a terminal as root]] user and do the following:
{{Code|cd <li>Install dependencies<pre>yum -y install git git-daemon gitweb</etc/httpd/conf.d}}pre></li><li>Look for the ''####-gitweb.conf'' in '''/etc/httpd/conf.d''' (#### is some number, i.e. 1000) file and open it in your favorite editor. Remove the Add text between after '''ServerAlias''' and the last two lines, then add the followingline{{Text|<pre>Text=Alias /git /var/hda/web-apps/gitweb/html/
RewriteEngine On
RewriteRule ^git$ git/ [R]
DirectoryIndex gitweb.cgi
SetEnv GITWEB_CONFIG "/etc/gitweb.conf"
AddHandler cgi-script .cgi /etc/httpd/conf.d/git.conf <Directory /var/hda/web-apps/gitweb/html> RewriteEngine On RewriteBase /git/ RewriteRule ^$ gitweb.cgi [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) gitweb.cgi/$1 [QSA,L]</Directorypre>}}</li><li>Restart web server to enable the changes{{Code|/etc/init.d/httpd restart;}}</li>
<li>Create web page to browse repository</li>
{{Code|<pre>cd /var/hda/web-apps/gitweb
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
{{Code|<pre>d /var/hda/web-apps/gitwebcp -r /var/www/git/* htmlchown -R apache:users html/</pre></li><li>Update local repository description<pre>cd /var/cache/gitsed -i '1d' test.git/.git/descriptionecho 'Test Repo' >> test.git/.git/description</pre></li><li>Edit '''/etc/httpd/conf.d/git.conf''' and replace with this text <pre><Directory /var/hda/web-apps/gitweb/html> RewriteEngine On RewriteBase /git/ RewriteRule ^$ gitweb.cgi [L] RewriteCond %{REQUEST_FILENAME}!-f RewriteCond %{REQUEST_FILENAME}!-d RewriteRule (.*) gitweb.cgi/$1 [QSA,L]</Directory></pre></li><li>Update permissions, remove temporary repository, and restart web server<pre>chown -R git.git /var/cache/gitrm -rf /var/cache/git/test/etc/init.d/httpd restart</pre></li>
</ul>
==Complete==
That is it. Navigate to <nowiki>http://gitweb/git</nowiki> to browse the newly created repository. ==Optional==You can add the Amahi repo by doing the following:<pre>cd /var/cache/gitgit clone git://git.amahi.org/amahi.git</pre>
==References==
[http://www.kutukupret.com/2010/03/26/hosting-your-own-git-repository-on-fedora-12/ Hosting your own Git Repository on Fedora 12]