Menu
ā§§ā§Ļ.ā§Ŧ āĻāĻŋāĻ āĻāύā§āĻāĻžāϰā§āύāĻžāϞāϏ – āĻā§āϰāĻžāύā§āϏāĻĢāĻžāϰ āĻĒā§āϰā§āĻā§āĻāϞ
āĻā§āϰāĻžāύā§āϏāĻĢāĻžāϰ āĻĒā§āϰā§āĻā§āĻāϞ
āĻāĻŋāĻ āĻĻā§āĻāĻŋ āĻĒā§āϰāϧāĻžāύ āĻāĻĒāĻžāϝāĻŧā§ āĻĻā§āĻāĻŋ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻāϰ āĻŽāϧā§āϝ⧠āĻĄā§āĻāĻž āϏā§āĻĨāĻžāύāĻžāύā§āϤāϰ āĻāϰāϤ⧠āĻĒāĻžāϰā§: âāĻĄāĻžāĻŽā§āĻŦâ āĻĒā§āϰā§āĻā§āĻāϞ āĻāĻŦāĻ âāϏā§āĻŽāĻžāϰā§āĻâ āĻĒā§āϰā§āĻā§āĻāϞāĨ¤ āĻāĻ āĻ āύā§āĻā§āĻā§āĻĻā§ āĻāĻ āĻĻā§āĻāĻŋ āĻĒā§āϰāϧāĻžāύ āĻĒā§āϰā§āĻā§āĻāϞ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰ⧠āϤāĻž āϏāĻāĻā§āώāĻŋāĻĒā§āϤāĻāĻžāĻŦā§ āĻāϞā§āĻāύāĻž āĻāϰāĻž āĻšāĻŦā§āĨ¤āĻĄāĻžāĻŽā§āĻŦ āĻĒā§āϰā§āĻā§āĻāϞ
āϝāĻĻāĻŋ HTTP āĻĻāĻŋā§ā§ āĻāĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒāĻžāĻ āϝā§āĻā§āϝ (read only) āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āϏā§āĻ-āĻāĻĒ āĻāϰāĻž āĻšā§, āϤāĻžāĻšāϞ⧠āϏāĻŽā§āĻāĻŦāϤ āĻĄāĻžāĻŽā§āĻŦ āĻĒā§āϰā§āĻā§āĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻž āĻāϰāĻž āĻšā§ā§āĻā§āĨ¤ āĻāĻ āĻĒā§āϰā§āĻā§āĻāϞāĻāĻŋāĻā§ âāĻĄāĻžāĻŽā§āĻŦâ āĻŦāϞāĻž āĻšāϝāĻŧ āĻāĻžāϰāĻŖ āĻāĻāĻŋ āĻā§āϰāĻžāύā§āϏāĻĒā§āϰā§āĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϞāĻžāĻāĻžāϞ⧠āϏāĻžāϰā§āĻāĻžāϰ⧠āĻā§āύāĻ āĻāĻŋāĻ-āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āĻĄā§āϰ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻāϰ⧠āύāĻž; āϤāĻžāĻ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻāύāĻžāϰ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻšāϞ⧠āĻ āύā§āĻ āĻā§āϞ⧠HTTP GET āϰāĻŋāĻā§ā§ā§āϏā§āĻ, āϝā§āĻāĻžāύ⧠āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻā§ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻŋāĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϰ āύāĻāĻļāĻž āĻ āύā§āĻŽāĻžāύ āĻāϰ⧠āύāĻŋāϤ⧠āĻšā§āĨ¤āĻŦāĻŋāĻāĻĻā§āϰāĻ āĻĄāĻžāĻŽā§āĻŦ āĻĒā§āϰā§āĻā§āĻāϞ āĻāĻāĻāĻžāϞ āĻā§āĻŦāĻ āĻāĻŽ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšāϝāĻŧāĨ¤ āĻāĻāĻž āĻĻāĻŋā§ā§ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āϏā§āϰāĻā§āώāĻŋāϤ āĻāϰāĻž āĻŦāĻž āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ āĻāĻžāĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻā§āĻŦāĻ āĻāĻ āĻŋāύ, āϤāĻžāĻ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻāĻŋāĻ āĻšā§āϏā§āĻ (āĻā§āϞāĻžāĻāĻĄ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻāĻŦāĻ āύāĻŋāĻ-āĻĒā§āϰāĻžāĻā§āĻāύ (on-prem), āĻāĻāϝāĻŧāĻā§āώā§āϤā§āϰā§āĻ) āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āύāĻŋāϰā§ā§āϏāĻžāĻšāĻŋāϤ āĻāϰāĻž āĻšā§āĨ¤ āϏāĻžāϧāĻžāϰāĻŖāĻāĻžāĻŦā§ āĻĒāϰāĻžāĻŽāϰā§āĻļ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ āϝāĻžāϤ⧠āϏāĻŦāĻžāĻ āϏā§āĻŽāĻžāϰā§āĻ āĻĒā§āϰā§āĻā§āĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āĻĒāϰāĻŦāϰā§āϤ⧠āĻ āύā§āĻā§āĻā§āĻĻāĻā§āϞā§āϤ⧠āĻ āύāĻŋā§ā§ āĻŦāϰā§āĻŖāύāĻž āĻāϰāĻž āĻšāĻŦā§āĨ¤ āĻĻā§āώā§āĻāĻžāύā§āϤāϏā§āĻŦāϰā§āĻĒ, āϏāĻŋāĻŽā§āĻĒāϞ āĻāĻŋāĻ āϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāϰ āĻāύā§āϝ http-fetch āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋ āĻ āύā§āϏāϰāĻŖ āĻāϰāĻŋ:
$ git clone http://server/simplegit-progit.git
āĻāĻ āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻĒā§āϰāĻĨāĻŽāϤ āϝ⧠āĻāĻžāĻāĻāĻŋ āĻāϰ⧠āϤāĻž āĻšāϞ info/refs āĻĢāĻžāĻāϞ āĻā§āϞ⧠āύāĻŋā§ā§ āĻāϏā§āĨ¤ āĻāĻ āĻĢāĻžāĻāϞāĻāĻŋ update-server-info āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āϞā§āĻāĻž āĻšāϝāĻŧā§āĻā§, āϤāĻžāĻ āĻāĻĒāύāĻžāĻā§ HTTP āĻā§āϰāĻžāύā§āϏāĻĒā§āϰā§āĻ āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰāĻžāύā§āϰ āĻāύā§āϝ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ post-receive āĻšā§āĻ āĻšāĻŋāϏā§āĻŦā§ āϏāĻā§āϰāĻŋāϝāĻŧ āĻāϰāϤ⧠āĻšāĻŦā§:
=> GET info/refs
ca82a6dff817ec66f44342007202690a93763949 refs/heads/master
āĻāĻāύ āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āϰāĻŋāĻŽā§āĻ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻā§āϞ⧠āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ SHA-1 āĻāϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āϰāϝāĻŧā§āĻā§āĨ¤ āĻāϰāĻĒāϰ, HEAD āϰā§āĻĢāĻžāϰā§āύā§āϏāĻāĻŋ āĻā§āĻāĻāϤ⧠āĻšāĻŦā§ āϝāĻžāϤ⧠āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻā§āĻĨāĻžā§ āĻā§āĻ-āĻāĻāĻ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āĻāĻžāύāĻž āϝāĻžā§:
=> GET HEAD
ref: refs/heads/master
āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāĻŋ āϏāĻŽā§āĻĒāύā§āύ āĻšāĻā§āĻžāϰ āĻĒāϰ master āĻŦā§āϰāĻžāĻā§āĻā§ āĻā§āĻ āĻāĻāĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻ āĻŽā§āĻšā§āϰā§āϤā§, āĻĒāϰāĻŦāϰā§āϤ⧠āĻĒā§āϰāĻā§āϰāĻŋā§āĻž āĻļā§āϰ⧠āĻāϰāĻž āϝāĻžā§āĨ¤ āĻāĻžāϰāĻŖ āĻāĻāĻžāύ⧠āĻļā§āϰā§āϰ āϏā§āĻĨāĻžāύ āĻšāϞ āĻāĻŽāĻŋāĻ āĻ
āĻŦāĻā§āĻā§āĻ ca82a6 āϝāĻž info/refs āĻĢāĻžāĻāϞ⧠āĻāĻā§, āĻĢā§āĻ āĻāϰāĻž āĻļā§āϰ⧠āĻāϰāĻžāϰ āĻāύā§āϝ:
=> GET objects/ca/82a6dff817ec66f44342007202690a93763949
(179 bytes of binary data)
āĻāϰāĻĒāϰ āĻāĻāĻāĻŋ āĻ
āĻŦāĻā§āĻā§āĻ āĻĒāĻžāĻā§āĻž āϝāĻžāĻŦā§ āϝā§āĻāĻž āϏāĻžāϰā§āĻāĻžāϰ āĻ āϞā§āĻ āĻāĻžāĻŦā§ āĻŦāĻŋāύā§āϝāϏā§āϤ āĻāĻŋāϞ, āϝāĻž āϏā§āĻā§āϝāĻžāĻāĻŋāĻ HTTP GET āϰāĻŋāĻā§ā§ā§āϏā§āĻā§āϰ āϰā§āϏāĻĒāύā§āϏāĨ¤ āĻāĻāĻžāĻā§ zlib-uncompress āĻāϰāϞ⧠āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻšā§āĻĄāĻžāϰ āĻāĻŦāĻ āĻāĻŽāĻŋāĻ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āĻĻā§āĻāĻž āϝāĻžāĻŦā§:
$ git cat-file -p ca82a6dff817ec66f44342007202690a93763949
tree cfda3bf379e4f8dba8717dee55aab78aef7f4daf
parent 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
author Scott Chacon 1205815931 -0700
committer Scott Chacon 1240030591 -0700
Change version number
āĻāϰ āĻĒāϰā§, āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāϰāĻ āĻĻā§āĻāĻŋ āĻ
āĻŦāĻā§āĻā§āĻ āĻāĻā§ – cfda3b, āϝā§āĻāĻŋ āĻāĻāĻŽāĻžāϤā§āϰ āĻĒā§āύāϰā§āĻĻā§āϧāĻŋāϤ āĻāĻŽāĻŋāĻ āĻāϰ āĻā§āϰāĻŋ āĻāϰ āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤā§; āĻāϰ āĻĒā§āϝāĻžāϰā§āύā§āĻ āĻāĻŽāĻŋāĻ 085bb3:
=> GET objects/08/5bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
(179 bytes of data)
āĻāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŦāϰā§āϤ⧠āĻāĻŽāĻŋāĻ āĻ
āĻŦāĻā§āĻā§āĻ āĻĒāĻžāĻā§āĻž āϝāĻžā§, āĻā§āϰāĻŋ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻāĻŋ āĻĒāĻžāĻā§āĻžāϰ āĻāύā§āϝ:
=> GET objects/cf/da3bf379e4f8dba8717dee55aab78aef7f4daf
(404 - Not Found)
āĻāĻšā§ – āĻĻā§āĻā§ āĻŽāύ⧠āĻšāĻā§āĻā§ āϏā§āĻ āĻā§āϰāĻŋ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰ⧠āϞā§āĻ āĻāĻžāĻŦā§ āϏāĻžāĻāĻžāύ⧠āύā§āĻ, āϤāĻžāĻ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ 404 āϰā§āϏāĻĒāύā§āϏ āĻĒāĻžāĻŦā§āύāĨ¤ āĻāϰ āĻāύā§āϝ āĻāϝāĻŧā§āĻāĻāĻŋ āĻāĻžāϰāĻŖ āϰāϝāĻŧā§āĻā§ – āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϤ⧠āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§, āĻ
āĻĨāĻŦāĻž āĻāĻāĻŋ āĻāĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϰ āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ⧠āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŋāĻ āĻĒā§āϰāĻĨāĻŽā§ āĻŦāĻŋāĻāϞā§āĻĒ āϤāĻžāϞāĻŋāĻāĻžāĻā§āϞ⧠āĻ
āύā§āϏāύā§āϧāĻžāύ āĻāϰā§:
=> GET objects/info/http-alternates
(empty file)
āĻāĻāĻŋ āϝāĻĻāĻŋ āĻŦāĻŋāĻāϞā§āĻĒ URL āĻā§āϞā§āϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āĻāĻĒāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§, āϤāĻžāĻšāϞ⧠āĻāĻŋāĻ āϏā§āĻāĻžāύ⧠āϞā§āĻ āĻĢāĻžāĻāϞ āĻāĻŦāĻ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞāĻā§āϞāĻŋāϰ āĻ
āύā§āϏāύā§āϧāĻžāύ āĻāϰ⧠– āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŽā§āĻāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋ āϝāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĢāϰā§āĻ āĻāϰāĻž āĻĒā§āϰāĻā§āĻā§āĻāĻā§āϞ⧠āĻĄāĻŋāϏā§āĻā§ āĻĒāϰāϏā§āĻĒāϰ āĻāϰ āĻŽāϧā§āϝ⧠āĻ
āĻŦāĻā§āĻā§āĻ āĻāĻĻāĻžāύ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āϝāĻžāĻāĻšā§āĻ, āϝā§āĻšā§āϤ⧠āĻāĻ āĻā§āώā§āϤā§āϰ⧠āĻā§āύāĻ āĻŦāĻŋāĻāϞā§āĻĒ āϤāĻžāϞāĻŋāĻāĻž āĻĒāĻžāĻā§āĻž āϝāĻžā§āύāĻŋ, āϤāĻžāĻšāϞ⧠āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ āĻšāĻŋāϏā§āĻŦā§ āĻĨāĻžāĻāĻŦā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻā§āύ āĻā§āύ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞāĻā§āϞ⧠āĻāĻā§ āϤāĻž āĻĻā§āĻāĻžāϰ āĻāύā§āϝ objects/info/packs āĻĢāĻžāĻāϞāĻāĻŋ āĻĻāϰāĻāĻžāϰ, āϝā§āĻāĻžāϤ⧠āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āϰāϝāĻŧā§āĻā§ (āĻāĻā§āϞ⧠update-server-info āĻĻā§āĻŦāĻžāϰāĻžāĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻšā§ā§ āĻĨāĻžāĻā§):
=> GET objects/info/packs
P pack-816a9b2334da9953e530f27bcac22082a9f5b835.pack
āϏāĻžāϰā§āĻāĻžāϰ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ āϰāϝāĻŧā§āĻā§, āϤāĻžāĻ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āϏā§āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§āĻ āϏā§āĻāĻžāύ⧠āϰāϝāĻŧā§āĻā§, āϤāĻŦā§ āϤāĻž āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻžāϰ āĻāύā§āϝ āϤāĻžāϞāĻŋāĻāĻž āĻĢāĻžāĻāϞāĻāĻŋ āĻĻā§āĻāĻž āϝāĻžā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāĻāĻžāϧāĻŋāĻ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ āĻĨāĻžāĻāϞā§āĻ āϏā§āĻŦāĻŋāϧāĻž āĻāĻā§, āϝāĻžāϤ⧠āĻā§āύ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ⧠āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āϰāϝāĻŧā§āĻā§ āϤāĻž āĻĻā§āĻāϤ⧠āĻĒāĻžāϰāĻž āϝāĻžā§:
=> GET objects/pack/pack-816a9b2334da9953e530f27bcac22082a9f5b835.idx
(4k of binary data)
āĻāĻāύ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞā§āϰ āϤāĻžāϞāĻŋāĻāĻžāĻāĻŋ āĻĨā§āĻā§ āĻĻā§āĻāϤ⧠āĻĒāĻžāϰāĻž āϝāĻžāĻŦā§ āϝ⧠āĻĒā§āϰā§ā§āĻāύā§ā§ āĻ
āĻŦāĻā§āĻā§āĻāĻāĻŋ āĻāϤ⧠āĻāĻā§ āĻāĻŋāύāĻž â āĻāĻžāϰāĻŖ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ⧠āĻ
āĻŦāĻā§āĻā§āĻā§āϰ SHA-1 āĻā§āϞ⧠āĻāĻŦāĻ āĻāĻĻā§āϰ āĻ
āĻĢāϏā§āĻāĻā§āϞ⧠āϤāĻžāϞāĻŋāĻāĻžāĻā§āĻā§āϤ āĻāϰāĻž āĻĨāĻžāĻā§āĨ¤ āĻāĻĒāύāĻžāϰ āĻ
āĻŦāĻā§āĻā§āĻ āĻāĻāĻžāύ⧠āĻāĻā§, āϤāĻžāĻ āĻŦāĻŋāύāĻž āĻĻā§āĻŦāĻŋāϧāĻžā§ āĻĒā§āϰ⧠āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞāĻāĻŋ āύāĻŋā§ā§ āĻāϏāϤ⧠āĻĒāĻžāϰā§āύ:
=> GET objects/pack/pack-816a9b2334da9953e530f27bcac22082a9f5b835.pack
(13k of binary data)
āĻā§āϰāĻŋ āĻ
āĻŦāĻā§āĻā§āĻ āĻĒāĻžāĻā§āĻžāϰ āĻĒāϰ āϏāĻŦāĻā§āϞ⧠āĻāĻŽāĻŋāĻāĻ āĻĒā§āĻž āϝāĻžāĻŦā§āĨ¤ āĻāĻā§āϞāĻŋ āϏāĻŦāĻ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻž āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞā§āϰ āĻŽāϧā§āϝ⧠āϰāϝāĻŧā§āĻā§, āϤāĻžāĻ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻāϰ āĻā§āύ⧠āϰāĻŋāĻā§ā§ā§āϏā§āĻ āĻĒāĻžāĻ āĻžāϤ⧠āĻšāĻŦā§ āύāĻžāĨ¤ āĻāĻŋāĻ master āĻŦā§āϰāĻžāĻā§āĻ āĻāϰ āĻāĻāĻāĻŋ āĻāĻžāϰā§āϝāĻāĻžāϰ⧠āĻ
āύā§āϞāĻŋāĻĒāĻŋ āĻā§āĻ-āĻāĻāĻ āĻāϰ⧠āĻļā§āϰā§āϤ⧠āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻž HEAD āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāϰā§āĻĻā§āĻļāĻŋāϤ āĻšāϝāĻŧā§āĻāĻŋāϞāĨ¤
āϏā§āĻŽāĻžāϰā§āĻ āĻĒā§āϰā§āĻā§āĻāϞ
āĻĄāĻžāĻŽā§āĻŦ āĻĒā§āϰā§āĻā§āĻāϞāĻāĻŋ āϏāĻšāĻ āϤāĻŦā§ āĻāĻŋāĻā§āĻāĻž āĻ āĻāĻžāϰā§āϝāĻāϰ, āĻāĻāĻŋ āĻā§āϞāĻžā§ā§āύā§āĻ āĻĨā§āĻā§ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻĄā§āĻāĻž āϞāĻŋāĻāϤ⧠āĻĒāĻžāϰ⧠āύāĻžāĨ¤ āĻĄā§āĻāĻž āĻāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύā§āϰ āĻāύā§āϝ āϏā§āĻŽāĻžāϰā§āĻ āĻĒā§āϰā§āĻā§āĻāϞ āĻŦā§āĻļā§ āĻĒā§āϰāĻāϞāĻŋāϤ āĻŽāĻžāϧā§āϝāĻŽ, āĻāĻŋāύā§āϤ⧠āĻāϰ āĻāύā§āϝ āϰāĻŋāĻŽā§āĻā§ āĻāĻŋāĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāĻžāύāĻžāύ⧠āĻĒā§āϰāϏā§āϏā§āϰ āĻĒā§āϰā§ā§āĻāύ āĻĒā§ā§ – āϝā§āĻāĻž āϞā§āĻāĻžāϞ āĻĄā§āĻāĻž āĻĒā§āϤ⧠āĻĒāĻžāϰā§, āĻŦā§āĻāϤ⧠āĻĒāĻžāϰ⧠āĻā§āϞāĻžā§ā§āύā§āĻā§āϰ āĻāĻžāĻā§ āĻāĻŋ āĻāĻā§ āĻāĻŦāĻ āĻāĻŋ āĻĻāϰāĻāĻžāϰ, āĻāĻŦāĻ āĻāϰ āĻāύā§āϝ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ āϤā§āϰ⧠āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻĄā§āĻāĻž āĻāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύā§āϰ āĻāύā§āϝ āĻĻā§āĻ āϏā§āĻ āĻĒā§āϰāϏā§āϏ āϰā§ā§āĻā§: āĻāĻ āĻā§ā§āĻž āĻĄā§āĻāĻž āĻāĻĒāϞā§āĻĄ āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāϰ āĻāϰā§āĻ āĻā§ā§āĻž āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻžāϰ āĻāύā§āϝāĨ¤āĻĄā§āĻāĻž āĻāĻĒāϞā§āĻĄāĻŋāĻ
āĻā§āύ āϰāĻŋāĻŽā§āĻ āĻĒā§āϰāϏā§āϏ⧠āĻĄā§āĻāĻž āĻāĻĒāϞā§āĻžāĻĄ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻŋāĻ send-pack āĻāĻŦāĻ receive-pack āĻĒā§āϰāϏā§āϏ āĻĻā§āĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ send-pack āĻĒā§āϰāϏā§āϏāĻāĻŋ āĻā§āϞāĻžā§ā§āύā§āĻā§ āϰāĻžāύ āĻāϰ⧠āĻāĻŦāĻ āϰāĻŋāĻŽā§āĻ-āϏāĻžāĻāĻĄā§āϰ receive-pack āĻĒā§āϰāϏā§āϏ⧠āĻāĻžāύā§āĻā§āĻ āĻāϰā§āĨ¤SSH
āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻāĻĒāύāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāĻā§āĻā§āĻā§ git push origin master āϰāĻžāύ āĻāϰāϞā§āύ āϝā§āĻāĻžāύ⧠origin āĻāϰ URL āĻāĻŽāύāĻāĻžāĻŦā§ āĻĻā§āĻā§āĻž āϝāĻžāϤ⧠āĻāϰ⧠āϏ⧠SSH āĻĒā§āϰā§āĻā§āĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āĻāĻŋāĻ send-process āĻļā§āϰ⧠āĻāϰā§, āϝāĻž āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϏāĻžāĻĨā§ SSH āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻāĻžāύā§āĻā§āĻ āĻāϰā§āĨ¤ āĻāĻ āĻĒā§āϰāϏā§āϏāĻāĻŋ āϰāĻŋāĻŽā§āĻ āϏāĻžāϰā§āĻāĻžāϰ⧠āϝ⧠āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āϰāĻžāύ āĻāϰāĻžāύā§āϰ āĻā§āώā§āĻāĻž āĻāϰ⧠āϏā§āĻāĻŋ āύāĻŋāĻŽā§āύāϰā§āĻĒāĻ
$ ssh -x git@server "git-receive-pack 'simplegit-progit.git'"
00a5ca82a6dff817ec66f4437202690a93763949 refs/heads/masterâĄreport-status \
delete-refs side-band-64k quiet ofs-delta \
agent=git/2:2.1.1+github-607-gfba4028 delete-refs
0000
āĻĒā§āϰāϤāĻŋāĻāĻž āϰā§āĻĢāĻžāϰā§āύā§āϏā§āϰ āĻāύā§āϝ git-receive-pack āĻāĻŽāĻžāύā§āĻĄ āĻāĻāĻāĻž āϞāĻžāĻāύ āϰā§āϏāĻĒāύā§āϏ āĻāϰ⧠– āĻāĻ āĻā§āώā§āϤā§āϰā§, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ master āĻŦā§āϰā§āϝāĻžāĻā§āĻ āĻāĻŦāĻ āĻāϰ SHA-1āĨ¤ āĻāĻāĻžā§āĻž āĻĒā§āϰāĻĨāĻŽ āϞāĻžāĻāύ⧠āϏāĻžāϰā§āĻāĻžāϰ āĻāĻŋ āĻāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§ āϏā§āĻā§āϞā§āϰāĻ āĻāĻāĻāĻž āϤāĻžāϞāĻŋāĻāĻž āĻĨāĻžāĻā§ (āĻāĻāĻžāύ⧠report-status, delete-refs, āĻāĻāĻžā§āĻžāĻ āĻāϰ⧠āĻāĻŋāĻā§, āĻā§āϞāĻžā§ā§āύā§āĻ āĻļāύāĻžāĻā§āϤāĻāĻžāϰ⧠āĻŦā§āĻļāĻŋāώā§āĻā§āϝ āϰā§ā§āĻā§)āĨ¤
āĻāĻāĻžāύ⧠āĻāύā§āĻĄā§ āĻāύā§āĻĄā§ āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāύ⧠āĻšā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻž āĻāύā§āĻĄ āĻļā§āϰ⧠āĻšā§ āĻāĻžāϰ āĻ āĻāĻā§āϰ āĻšā§āĻā§āϏāĻžāĻĄā§āϏāĻŋāĻŽāĻžāϞ āĻŽāĻžāύ āĻĻāĻŋā§ā§, āϝāĻž āĻĻāĻŋā§ā§ āĻāύā§āĻĄāĻāĻž āĻāϤ āϏāĻžāĻāĻā§āϰ (āύāĻŋāĻā§āϰ ā§Ē āĻŦāĻžāĻāĻ āĻĻā§āϰā§āĻā§āϝ āϏāĻš) āϤāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāĻž āĻšā§āĨ¤ āĻāύā§āĻĄāĻā§āϞā§āϤ⧠āϏāĻžāϧāĻžāϰāĻŖāϤāĻ āĻāĻ āϞāĻžāĻāύ āĻĄā§āĻāĻž āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻļā§āώ⧠āĻāĻāĻāĻž āϞāĻžāĻāύāĻĢāĻŋāĻĄ āĻĨāĻžāĻā§āĨ¤ āĻāĻāĻžāύ⧠āĻĒā§āϰāĻĨāĻŽ āĻāύā§āĻĄ āĻļā§āϰ⧠āĻšāĻā§āĻā§ 00a5 āĻĻāĻŋā§ā§, āϝāĻž 165 āĻāϰ āĻšā§āĻā§āϏāĻžāĻĄā§āϏāĻŋāĻŽāĻžāϞ āĻŽāĻžāύ, āĻ āϰā§āĻĨāĻžā§ āĻāύā§āĻĄāĻāĻž 165 āĻŦāĻžāĻāĻ āϏāĻžāĻāĻā§āϰāĨ¤ āĻĒāϰā§āϰ āĻāύā§āĻĄāĻāĻž 0000, āĻ āϰā§āĻĨāĻžā§ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āϤāĻžāϞāĻŋāĻāĻž āĻāϰāĻž āĻļā§āώāĨ¤
āĻāĻāύ, āϝā§āĻšā§āϤ⧠āĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻ āĻŦāϏā§āĻĨāĻž āĻāĻžāύā§, send-pack āĻĒā§āϰāϏā§āϏ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰ⧠āĻā§ āĻā§ āĻāĻŽāĻŋāĻ āĻāϰ āĻāĻžāĻā§ āĻāĻā§ āϝāĻž āϏāĻžāϰā§āĻāĻžāϰ⧠āύā§āĻāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻž āϰā§āĻĢāĻžāϰā§āύā§āϏā§āϰ āĻāύā§āϝ āϝāĻž āĻāĻ āĻĒā§āĻļā§ āĻāĻĒāĻĄā§āĻ āĻšāĻŦā§, send-pack āĻĒā§āϰāϏā§āϏ āϏāĻžāϰā§āĻāĻžāϰā§āϰ receive-pack āĻĒā§āϰāϏā§āϏāĻā§ āĻāĻžāύāĻžā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϝāĻĻāĻŋ master āĻŦā§āϰā§āϝāĻžāĻā§āĻ āĻāĻĒāĻĄā§āĻ āĻšā§ āĻāĻŦāĻ āĻāĻāĻāĻž experimental āύāϤā§āύāĻāĻžāĻŦā§ āϝā§āĻ āĻāϰāĻž āĻšā§, āϤāĻžāĻšāϞ⧠send-pack āϰā§āϏāĻĒāύā§āϏāĻāĻž āύāĻŋāĻŽā§āύāϰā§āĻĒ āĻšāϤ⧠āĻĒāĻžāϰā§āĻ
āĻāĻāĻžāύ⧠āĻāύā§āĻĄā§ āĻāύā§āĻĄā§ āĻĄā§āĻāĻž āĻĒāĻžāĻ āĻžāύ⧠āĻšā§āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻž āĻāύā§āĻĄ āĻļā§āϰ⧠āĻšā§ āĻāĻžāϰ āĻ āĻāĻā§āϰ āĻšā§āĻā§āϏāĻžāĻĄā§āϏāĻŋāĻŽāĻžāϞ āĻŽāĻžāύ āĻĻāĻŋā§ā§, āϝāĻž āĻĻāĻŋā§ā§ āĻāύā§āĻĄāĻāĻž āĻāϤ āϏāĻžāĻāĻā§āϰ (āύāĻŋāĻā§āϰ ā§Ē āĻŦāĻžāĻāĻ āĻĻā§āϰā§āĻā§āϝ āϏāĻš) āϤāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰāĻž āĻšā§āĨ¤ āĻāύā§āĻĄāĻā§āϞā§āϤ⧠āϏāĻžāϧāĻžāϰāĻŖāϤāĻ āĻāĻ āϞāĻžāĻāύ āĻĄā§āĻāĻž āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻļā§āώ⧠āĻāĻāĻāĻž āϞāĻžāĻāύāĻĢāĻŋāĻĄ āĻĨāĻžāĻā§āĨ¤ āĻāĻāĻžāύ⧠āĻĒā§āϰāĻĨāĻŽ āĻāύā§āĻĄ āĻļā§āϰ⧠āĻšāĻā§āĻā§ 00a5 āĻĻāĻŋā§ā§, āϝāĻž 165 āĻāϰ āĻšā§āĻā§āϏāĻžāĻĄā§āϏāĻŋāĻŽāĻžāϞ āĻŽāĻžāύ, āĻ āϰā§āĻĨāĻžā§ āĻāύā§āĻĄāĻāĻž 165 āĻŦāĻžāĻāĻ āϏāĻžāĻāĻā§āϰāĨ¤ āĻĒāϰā§āϰ āĻāύā§āĻĄāĻāĻž 0000, āĻ āϰā§āĻĨāĻžā§ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āϰā§āĻĢāĻžāϰā§āύā§āϏ āϤāĻžāϞāĻŋāĻāĻž āĻāϰāĻž āĻļā§āώāĨ¤
āĻāĻāύ, āϝā§āĻšā§āϤ⧠āĻāĻāĻŋ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻ āĻŦāϏā§āĻĨāĻž āĻāĻžāύā§, send-pack āĻĒā§āϰāϏā§āϏ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰ⧠āĻā§ āĻā§ āĻāĻŽāĻŋāĻ āĻāϰ āĻāĻžāĻā§ āĻāĻā§ āϝāĻž āϏāĻžāϰā§āĻāĻžāϰ⧠āύā§āĻāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻž āϰā§āĻĢāĻžāϰā§āύā§āϏā§āϰ āĻāύā§āϝ āϝāĻž āĻāĻ āĻĒā§āĻļā§ āĻāĻĒāĻĄā§āĻ āĻšāĻŦā§, send-pack āĻĒā§āϰāϏā§āϏ āϏāĻžāϰā§āĻāĻžāϰā§āϰ receive-pack āĻĒā§āϰāϏā§āϏāĻā§ āĻāĻžāύāĻžā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āϝāĻĻāĻŋ master āĻŦā§āϰā§āϝāĻžāĻā§āĻ āĻāĻĒāĻĄā§āĻ āĻšā§ āĻāĻŦāĻ āĻāĻāĻāĻž experimental āύāϤā§āύāĻāĻžāĻŦā§ āϝā§āĻ āĻāϰāĻž āĻšā§, āϤāĻžāĻšāϞ⧠send-pack āϰā§āϏāĻĒāύā§āϏāĻāĻž āύāĻŋāĻŽā§āύāϰā§āĻĒ āĻšāϤ⧠āĻĒāĻžāϰā§āĻ
0076ca82a6dff817ec66f44342007202690a93763949 15027957951b64cf874c3557a0f3547bd83b3ff6 \
refs/heads/master report-status
006c0000000000000000000000000000000000000000 cdfdb42577e2506715f8cfeacdbabc092bf63e8d \
refs/heads/experiment
0000
āϝā§āϏāĻŦ āĻāĻĒāĻĄā§āĻ āĻšāĻŦā§ āϏā§āϏāĻŦā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻž āϰā§āĻĢāĻžāϰā§āύā§āϏā§āϰ āĻāύā§āϝ āĻāĻŋāĻ āĻāĻāĻāĻŋ āϞāĻžāĻāύ āĻĒāĻžāĻ āĻžā§ āϝāĻžāϤ⧠āϞāĻžāĻāύā§āϰ āĻĻā§āϰā§āĻā§āϝ (āϞā§āύā§āĻĨ) āĻĨāĻžāĻā§, āĻāĻā§āϰ SHA-1, āύāϤā§āύ SHA-1 āĻāϰ āϝ⧠āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻāĻĒāĻĄā§āĻ āĻšāĻā§āĻā§ āϏ⧠āϰā§āĻĢāĻžāϰā§āύā§āϏāĨ¤ āĻĒā§āϰāĻĨāĻŽ āϞāĻžāĻāύ⧠āĻā§āϞāĻžā§ā§āύā§āĻ āĻāĻŋ āĻāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āϏā§āĻā§āϞā§āĻ āĻĨāĻžāĻā§āĨ¤ experiment āϰā§āĻĢāĻžāϰā§āύā§āϏāĻāĻž āύāϤā§āύ āĻāϰ⧠āϝā§āĻ āĻšā§ā§āĻā§ āϤāĻžāĻ SHA-1 āĻ āϏāĻŦ āĻŽāĻžāύ āĻļā§āύā§āϝ – āĻāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āĻāĻžā§ āϝ⧠āĻāĻāĻžāύ⧠āĻāϰ āĻāĻā§ āĻāĻŋāĻā§āĻ āĻāĻŋāϞ⧠āύāĻžāĨ¤ āĻāĻŦāĻžāϰ, āϝāĻĻāĻŋ āĻĄāĻžāύ āĻĒāĻžāĻļā§ āϏāĻŦ āĻļā§āύā§āϝ āĻĨāĻžāĻā§, āϤāĻžāĻšāϞ⧠āĻā§āύ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšā§ā§āĻā§, āĻŽāĻžāύ⧠āĻāĻā§āϰāĻāĻžāϰ āĻŦāĻŋāĻĒāϰā§āϤāĨ¤
āĻāϰāĻĒāϰ, āĻā§āϞāĻžā§ā§āύā§āĻ āϏāĻŦāĻā§āϞāĻž āĻ āĻŦāĻā§āĻā§āĻā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ āĻĒāĻžāĻ āĻžā§ āϝāĻž āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻāĻžāĻā§ āĻ āĻŽā§āĻšā§āϰā§āϤ⧠āύā§āĻāĨ¤ āĻ āĻŦāĻļā§āώā§, āϏāĻžāϰā§āĻāĻžāϰ āϏāĻĢāϞāϤāĻž (āĻŦāĻž āĻŦā§āϝāϰā§āĻĨāϤāĻž) āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āĻāĻāĻāĻŋ āϰā§āϏāĻĒāύā§āϏ āĻĒāĻžāĻ āĻžā§:
āĻāϰāĻĒāϰ, āĻā§āϞāĻžā§ā§āύā§āĻ āϏāĻŦāĻā§āϞāĻž āĻ āĻŦāĻā§āĻā§āĻā§āϰ āĻāĻāĻāĻŋ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ āĻĒāĻžāĻ āĻžā§ āϝāĻž āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻāĻžāĻā§ āĻ āĻŽā§āĻšā§āϰā§āϤ⧠āύā§āĻāĨ¤ āĻ āĻŦāĻļā§āώā§, āϏāĻžāϰā§āĻāĻžāϰ āϏāĻĢāϞāϤāĻž (āĻŦāĻž āĻŦā§āϝāϰā§āĻĨāϤāĻž) āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āĻāĻāĻāĻŋ āϰā§āϏāĻĒāύā§āϏ āĻĒāĻžāĻ āĻžā§:
000eunpack ok
HTTP(S)
āĻāĻ āĻĒā§āϰāϏā§āϏāĻāĻŋ HTTP āĻāϰ āĻŽāϤāĻ āĻĒā§āϰāĻžā§, āϤāĻŦā§ āĻšā§āϝāĻžāύā§āĻĄāĻļā§āĻāĻŋāĻāĻāĻž āĻāĻāĻā§ āĻāϞāĻžāĻĻāĻžāĨ¤ āĻāĻžāύā§āĻāĻļāύ āĻļā§āϰ⧠āĻāϰāĻžāϰ āĻāύā§āϝ āϰāĻŋāĻā§ā§ā§āϏā§āĻāĻāĻŋ āύāĻŋāĻŽā§āĻŽāϰā§āĻĒāĻ
=> GET http://server/simplegit-progit.git/info/refs?service=git-receive-pack
001f# service=git-receive-pack
00ab6c5f0e45abd7832bf23074a333f739977c9e8188 refs/heads/masterâĄreport-status \
delete-refs side-band-64k quiet ofs-delta \
agent=git/2:2.1.1~vmg-bitmaps-bugaloo-608-g116744e
0000
āĻĒā§āϰāĻĨāĻŽ āĻā§āϞāĻžā§ā§āύā§āĻ-āϏāĻžāϰā§āĻāĻžāϰ āĻāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύ āĻāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻļā§āώ āĻšā§āĨ¤ āϤāĻžāϰāĻĒāϰ āĻā§āϞāĻžā§ā§āύā§āĻ send-pack āĻāϰ āĻĄā§āĻāĻž/āϤāĻĨā§āϝ āϏāĻŽā§āϤ āĻāĻāĻāĻž POST āϰāĻŋāĻā§ā§ā§āϏā§āĻ āĻĒāĻžāĻ āĻžā§:
=> POST http://server/simplegit-progit.git/git-receive-pack
POST āϰāĻŋāĻā§ā§ā§āϏā§āĻā§ send-pack āĻāϰ āĻāĻāĻāĻĒā§āĻ āĻāϰ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞāĻāĻžāĻā§ āĻĒā§-āϞā§āĻĄ āĻšāĻŋāϏā§āĻŦā§ āĻĒāĻžāĻ āĻžā§āĨ¤ āϏāĻžāϰā§āĻāĻžāϰ āĻāϰāĻĒāϰ HTTP āϰā§āϏāĻĒāύā§āϏā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāĻĢāϞ āĻŦāĻž āĻŦā§āϝāϰā§āĻĨ āĻšāĻā§āĻžāϰ āĻāϰ āύāĻŋāϰā§āĻĻā§āĻļāύāĻž āĻĻā§ā§āĨ¤
āĻāĻāĻž āĻŽāύ⧠āϰāĻžāĻāϤ⧠āĻšāĻŦā§ āϝ⧠HTTP āĻĒā§āϰā§āĻā§āĻāϞāĻāĻŋ āĻāĻ āĻāύā§āĻĄ āĻāύā§āĻĄ āĻĄā§āĻāĻž, āĻā§āϰāĻžāύā§āϏāĻĢāĻžāϰ āĻāύāĻā§āĻĄāĻŋāĻ-āĻāϰ āĻāĻŋāϤāϰ⧠āĻāĻā§āĻā§āϤ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻĄā§āĻāĻž āĻĄāĻžāĻāύāϞā§āĻĄāĻŋāĻ
āĻĄā§āĻāĻž āĻĄāĻžāĻāύāϞā§āĻĄā§āϰ āϏāĻŽā§ā§ fetch-pack āĻāϰ upload-pack āĻĒā§āϰāϏā§āϏ āĻĻā§āĻāĻŋ āĻā§āĻŋāϤ āĻĨāĻžāĻā§āĨ¤ āĻā§āϞāĻžā§ā§āύā§āĻ āĻāĻŋ āĻāĻŋ āĻĄā§āĻāĻž āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻŦā§ āϤāĻž āĻŦā§āĻāĻžāϰ āĻāύā§āϝ fetch-pack āĻĒā§āϰāϏā§āϏ āĻļā§āϰ⧠āĻāϰ⧠āϝā§āĻāĻž āϰāĻŋāĻŽā§āĻ āϏāĻžāĻāĻĄā§āϰ upload-pack āĻĒā§āϰāϏā§āϏā§āϰ āϏāĻžāĻĨā§ āĻāĻžāύā§āĻā§āĻ āĻšā§āĨ¤SSH
āϝāĻĻāĻŋ SSH āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĄā§āĻāĻž āĻāύāĻž āĻšā§, āϤāĻžāĻšāϞ⧠fetch-pack āύāĻŋāĻā§ āĻĻā§āĻā§āĻž āĻāĻŽāĻžāύā§āĻĄā§āϰ āĻŽāϤ āĻāĻŋāĻā§ āϰāĻžāύ āĻāϰā§:
$ ssh -x git@server "git-upload-pack 'simplegit-progit.git'"
fetch-pack āĻāĻžāύā§āĻā§āĻ āĻšāĻā§āĻžāϰ āĻĒāϰ upload-pack āύāĻŋāĻā§āϰ āĻŽāϤ āĻāĻŋāĻā§ āĻĢā§āϰāϤ āĻĒāĻžāĻ āĻžā§:
00dfca82a6dff817ec66f44342007202690a93763949 HEADâĄmulti_ack thin-pack \
side-band side-band-64k ofs-delta shallow no-progress include-tag \
multi_ack_detailed symref=HEAD:refs/heads/master \
agent=git/2:2.1.1+github-607-gfba4028
003fe2409a098dc3e53539a9028a94b6224db9d6a6b6 refs/heads/master
0000
āĻāĻāĻž receive-pack āĻĨā§āĻā§ āϝ⧠āϰā§āϏāĻĒāύā§āϏ āĻāϏā§, āϏā§āĻāĻžāϰ āĻŽāϤāĻ, āϤāĻŦā§ āĻāϰ āĻāĻžāϰā§āϝāĻā§āώāĻŽāϤ āĻāĻŋāύā§āύāĨ¤ āĻāĻāĻž HEAD āĻā§āĻĨāĻžā§ āύāĻŋāϰā§āĻĻā§āĻļ (symref=HEAD:refs/heads/master) āĻāϰ⧠āĻāĻā§ āϏā§āĻāĻžāĻ āĻĒāĻžāĻ āĻžā§ āϝāĻžāϤ⧠āĻāϰ⧠āĻā§āϞāĻžā§ā§āύā§āĻ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰ⧠āϝ⧠āϝāĻĻāĻŋ āĻāĻāĻž āĻā§āϞā§āύ āĻšā§ā§ āĻĨāĻžāĻā§ āϤāĻžāĻšāϞ⧠āĻāĻŋ āĻāĻŋ āĻā§āĻ-āĻāĻāĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤
āĻāĻŽāϤāĻžāĻŦāϏā§āĻĨāĻžā§, fetch-pack āĻĒā§āϰāϏā§āϏ āĻĻā§āĻā§ āĻāĻŋ āĻāĻŋ āĻ
āĻŦāĻā§āĻā§āĻ āĻāϰ āĻāĻžāĻā§ āĻāĻā§ āĻāĻŦāĻ āϰā§āϏāĻĒāύā§āϏ āĻĒāĻžāĻ āĻžā§ āĻā§ āĻā§ āϞāĻžāĻāĻŦā§ âwantâ āĻāϰ SHA-1 āϞāĻŋāĻā§; āĻāĻāĻž āĻāϰ āĻāĻžāĻā§ āϝāĻž āϝāĻž āĻāĻā§ āĻāϰ āĻāύā§āϝ âhaveâ āĻāϰ āϏāĻāĻļā§āϞāĻŋāώā§āĻ SHA-1 āϞāĻŋāĻā§ āĻāĻŦāĻ āϤāĻžāϞāĻŋāĻāĻžāϰ āĻļā§āώ⧠āĻāĻāĻŋ âdoneâ āϞāĻŋāĻā§ āϝāĻžāϤ⧠āĻāϰ⧠upload-pack āĻĒā§āϰāϏā§āϏ āĻĒā§āϰā§ā§āĻāύā§ā§ āĻĄā§āĻāĻžāϰ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞ āĻĒāĻžāĻ āĻžāύ⧠āĻļā§āϰ⧠āĻāϰā§āĨ¤
003cwant ca82a6dff817ec66f44342007202690a93763949 ofs-delta
0032have 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
0009done
0000
HTTP(S)
āĻĄā§āĻāĻž āĻĢā§āĻ āĻāϰāĻžāϰ āĻā§āώā§āϤā§āϰ⧠āĻšā§āϝāĻžāύā§āĻĄāĻļā§āĻā§āϰ āĻāύā§āϝ āĻĻā§āĻāĻāĻŋ HTTP āϰāĻŋāĻā§ā§ā§āϏā§āĻ āϞāĻžāĻā§āĨ¤ āĻĒā§āϰāĻĨāĻŽāĻāĻŋ āĻšāĻā§āĻā§ āĻĄāĻžāĻŽā§āĻŦ āĻĒā§āϰā§āĻā§āĻāϞ⧠āĻŦā§āϝāĻŦāĻšā§āϤ āĻāύā§āĻĄāĻĒā§ā§āύā§āĻā§ GET āϰāĻŋāĻā§ā§ā§āϏā§āĻ:
=> GET $GIT_URL/info/refs?service=git-upload-pack
001e# service=git-upload-pack
00e7ca82a6dff817ec66f44342007202690a93763949 HEADâĄmulti_ack thin-pack \
side-band side-band-64k ofs-delta shallow no-progress include-tag \
multi_ack_detailed no-done symref=HEAD:refs/heads/master \
agent=git/2:2.1.1+github-607-gfba4028
003fca82a6dff817ec66f44342007202690a93763949 refs/heads/master
0000
āĻāĻāĻž SSH āĻāĻžāύā§āĻāĻļāύā§āϰ git-upload-pack-āĻāϰ āĻŽāϤāĻ āĻĒā§āϰāĻžā§, āĻāĻŋāύā§āϤ⧠āĻĻā§āĻŦāĻŋāϤā§ā§ āĻāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύāĻāĻŋ āĻāϞāĻžāĻĻāĻž āϰāĻŋāĻā§ā§ā§āϏā§āĻā§ āϏāĻŽā§āĻĒāύā§āύ āĻšā§:
=> POST $GIT_URL/git-upload-pack HTTP/1.0
0032want 0a53e9ddeaddad63ad106860237bbf53411d11a7
0032have 441b40d833fdfa93eb2908e52742248faf0ee993
0000
āĻāĻ āĻĢāϰāĻŽā§āϝāĻžāĻāĻāĻŋāĻ āĻāĻĒāϰā§āϰ āĻĢāϰāĻŽā§āϝāĻžāĻā§āϰ āĻŽāϤāĻāĨ¤ āĻāĻ āϰāĻŋāĻā§ā§ā§āϏā§āĻā§āϰ āϰā§āϏāĻĒāύā§āϏ āϏāĻĢāϞāϤāĻž āĻŦāĻž āĻŦā§āϝāϰā§āĻĨāϤāĻž āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰā§, āĻāĻŦāĻ āϏā§āĻ āϏāĻžāĻĨā§ āĻĒā§āϝāĻžāĻāĻĢāĻžāĻāϞāĻāĻŋāĻ āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰā§āĨ¤