HTTP พุชที่เร็วขึ้นด้วย git เท่านั้น - ไม่จำเป็นต้องใช้ webDAV
รองรับ "smart-http" ใหม่ตั้งแต่ git 1.6.6 วิธีการใหม่นี้อนุญาตให้ส่งทั้งชุดในคราวเดียวและไม่ใช่เป็นไฟล์เดี่ยว ๆ
คุณยังสามารถใช้ gitweb เพื่อจัดทำ URL ที่สามารถเรียกดูได้ในตำแหน่งเดียวกัน
หมายเหตุ: เนื่องจากการเข้าถึงถูกควบคุมโดย apache คุณสามารถเพิ่มข้อกำหนด Auth ใด ๆ (htaccess หรือ ldap ฯลฯ ) ในการตั้งค่าสำหรับแต่ละที่เก็บ
คำตอบนี้จะถือว่าคุณเป็นเจ้าของเซิร์ฟเวอร์ระยะไกลและต้องการเพิ่ม / แก้ไขการสนับสนุน http
FIRST: ตรวจสอบล็อก apache อาจเป็นไปได้ว่าสิทธิ์ถูกปฏิเสธ / ไม่สามารถหาข้อผิดพลาดได้เมื่อ apache พยายามเรียกใช้สคริปต์ cgi git-http- แอ่น
เพิ่มการสนับสนุน HTTP ให้กับคอมไพล์
เพียงแค่สร้างไฟล์ git_support.conf ใหม่และรวมไว้ใน apache (เพิ่มคำสั่ง include ใน 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/
ผลที่ได้คือความสามารถในการผลัก / ดึง:
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
และคุณสามารถเรียกดูการเปลี่ยนแปลงเหล่านั้นทางออนไลน์ ..
ที่มา:
http://repo.or.cz/w/alt-git.git?a=blob_plain;f=gitweb/README
http.receivepack
และแจ้งให้ทราบเกี่ยวกับประเด็น