Đẩy HTTP nhanh hơn chỉ với git - không yêu cầu webDAV
Hỗ trợ "smart-http" mới kể từ git 1.6.6. Phương thức mới cho phép toàn bộ gói được truyền cùng một lúc và không phải là các tệp riêng lẻ.
YOu cũng có thể sử dụng gitweb để cung cấp các URL dễ đọc tại cùng một vị trí.
Lưu ý: Vì quyền truy cập được kiểm soát bởi apache, bạn có thể thêm bất kỳ yêu cầu Auth nào (htaccess hoặc ldap, v.v.) vào thiết lập cho mỗi kho lưu trữ.
Câu trả lời này giả định rằng bạn sở hữu máy chủ từ xa và muốn thêm / sửa lỗi hỗ trợ http.
FIRST: Kiểm tra nhật ký apache, có khả năng là quyền bị từ chối / không thể xác định lỗi khi apache cố gắng thực thi các tập lệnh cgi được hỗ trợ bởi git-http.
Thêm hỗ trợ HTTP vào git
Chỉ cần tạo một tệp git_support.conf mới và đưa nó vào apache (thêm câu lệnh bao gồm trong 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/
Kết quả là khả năng đẩy / kéo:
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
Và bạn có thể duyệt những thay đổi trực tuyến ..
Nguồn:
http://repo.or.cz/w/alt-git.git?a=blob_plain;f=gitweb/README
http.receivepack
.