Dorong HTTP lebih cepat dengan hanya git - webDAV tidak diperlukan
Dukungan "smart-http" baru sejak git 1.6.6. Metode baru memungkinkan seluruh paket untuk dikirim sekaligus, dan bukan sebagai file individual.
Anda juga dapat menggunakan gitweb untuk menyediakan URL yang dapat dijelajahi di lokasi yang sama.
Catatan: Karena akses dikontrol oleh apache Anda dapat menambahkan persyaratan Auth (htaccess atau ldap, dll) ke pengaturan untuk setiap repositori.
Jawaban ini mengasumsikan Anda memiliki server jarak jauh dan ingin menambah / memperbaiki dukungan http.
PERTAMA: Periksa log apache, kemungkinan izinnya ditolak / tidak dapat menemukan kesalahan ketika apache mencoba mengeksekusi skrip cgi yang didukung git-http.
Menambahkan Dukungan HTTP ke git
Buat saja file git_support.conf baru, dan sertakan dalam apache (tambahkan sertakan pernyataan di httpd.conf)
#
# Basic setup for git-http-backend
#
SetEnv GIT_PROJECT_ROOT /opt/git_repos
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER #IMportant !!! This could be your problem if missing
<Directory /opt/git> # both http_backend and gitweb should be somewhere under here
AllowOverride None
Options +ExecCGI -Includes #Important! Lets apache execute the script!
Order allow,deny
Allow from all
</Directory>
# This pattern matches git operations and passes them to http-backend
ScriptAliasMatch \
"(?x)^/git/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
/opt/git/libexec/git-core/git-http-backend/$1
# Anything not matched above goes to displayable gitweb interface
ScriptAlias /git /opt/git/cgi-bin/gitweb.cgi/
Hasilnya adalah kemampuan untuk mendorong / menarik:
me@machine /tmp/eddies $ git pull
Already up-to-date.
me@machine /tmp/eddies $ touch changedFile
me@machine /tmp/eddies $ git add .
me@machine /tmp/eddies $ git commit -am"commiting change"
[master ca7f6ed] commiting change
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 changedFile
me@machine /tmp/eddies $ git push origin master
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 239 bytes, done.
Total 2 (delta 1), reused 0 (delta 0)
To http://mysecretdomain.com/git/eddies
0f626a9..ca7f6ed master -> master
Dan Anda dapat menelusuri perubahan itu secara online ..
Sumber:
http://repo.or.cz/w/alt-git.git?a=blob_plain;f=gitweb/README
http.receivepack
.