GITPROTOCOL-COMMON(5) Git Manual GITPROTOCOL-COMMON(5) (NAME) gitprotocol-common - (SYNOPSIS) (DESCRIPTION) (over-the-wire) . ABNF (ABNF NOTATION) ABNF RFC 5234 : HEXDIG = DIGIT / "a" / "b" / "c" / "d" / "e" / "f" : NUL = %x00 zero-id = 40*"0" obj-id = 40*(HEXDIGIT) refname = "HEAD" refname /= "refs/" refname (octet string) "refs/" git-check-ref-format . : 1. / () .. 2. / . heads/ tags/ . 3. . . 4. ASCII ( \040 \177 DEL) ~ ^ : ? * [ . 5. / . . 6. .lock . 7. @{ . 8. \\ . PKT-LINE (PKT-LINE FORMAT) (payload) (pkt-line) . pkt-line . pkt-len . pkt-len . pkt-line pkt-line 8-bit clean . LF . pkt-line LF ( LF ). pkt-line . pkt-line ( + ). pkt-line ("0004") . pkt-line 0 ("0000") flush-pkt pkt-line ("0004") . pkt-line = data-pkt / flush-pkt data-pkt = pkt-len pkt-payload pkt-len = 4*(HEXDIG) pkt-payload = (pkt-len - 4)*(OCTET) flush-pkt = "0000" ( C): pkt-line actual value --------------------------------- "0006a\n" "a\n" "0005a" "a" "000bfoobar\n" "foobar\n" "0004" "" (GIT) git(1) Git 2.55.0 2026-06-29 GITPROTOCOL-COMMON(5)