Zajištění předání zdrojového kódu pomocí Git bundle a SHA-256
Při převodu výhradních práv k počítačovému programu se předávací protokoly často omezují na frázi „výsledek předán“ bez popisu obsahu. To vytváří riziko sporů: zadavatel může tvrdit, že funkce chybí, vývojář naopak. Git bundle a hash SHA-256 tento problém řeší tím, že fixují repozitář v jednom souboru s ověřitelným identifikátorem.
Vytvoření Git bundle: úplný výpis repozitáře
Git bundle zabalí celý repozitář – objekty, větve, tagy, historii – do jediného binárního souboru. Jde o soběstačný artefakt, který nezávisí na externích úložištích.
Příkaz pro vytvoření:
# Úplná záloha celého repozitáře (všechny větve, všechny tagy)
git bundle create projekt.bundle --all
Soubor projekt.bundle se klonuje standardně:
git clone projekt.bundle obnoveny-projekt
Výhody oproti kopírování .git:
- Jeden soubor pro uložení, přenos, podepsání.
- Úplná historie commitů, autorů, dat.
- Nezávislost na Git hostingových službách.
Bundle fixuje stav v okamžiku vytvoření, vylučuje pozdější změny v původním repozitáři.
Kontrolní součet: jedinečný identifikátor
Jakýkoli soubor lze zahashovat pro získání neměnného otisku. SHA-256 je vhodnější: je odolný vůči kolizím, na rozdíl od MD5/SHA-1.
Příkazy pro Linux/macOS:
shasum -a 256 projekt.bundle
Pro Windows:
certutil -hashfile projekt.bundle SHA256
Výsledkem je 64znakový řetězec, například: a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e. I změna jediného bitu hash zcela změní.
Integrace do právních dokumentů
V protokolu uveďte:
Výsledek prací předán ve formě souboru projekt.bundle, kontrolní součet (SHA-256): a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
Podepište elektronickým podpisem přes elektronickou datovou schránku, Portál občana (Státní klíč) nebo certifikační autoritu. Podpis musí obsahovat časové razítko a vizualizaci v PDF.
Elektronický podpis fixuje nejen protokol, ale i vložený hash, čímž váže dokument ke konkrétnímu bundle.
Ověření při sporech: technická verifikace
Při neshodách:
- Expert vypočítá SHA-256 obdrženého
projekt.bundle. - Porovná s hashem z protokolu.
- Naklonuje bundle a analyzuje repozitář: commity, soubory, funkce.
# Obnovení pro expertizu
git clone projekt.bundle obnoveny-projekt
cd obnoveny-projekt
git log --oneline -10 # Poslední commity
git show HEAD:src/main.py # Konkrétní soubor
Pokud hash souhlasí – kód je autentický. Nesouhlas ukazuje na záměnu.
Automatizace procesu
Skript pro rutinu:
#!/bin/bash
REPO_NAME=projekt
git bundle create ${REPO_NAME}.bundle --all
HASH=$(shasum -a 256 ${REPO_NAME}.bundle | cut -d' ' -f1)
echo "SHA-256: $HASH"
# Vložte $HASH do protokolu a podepište
V CI/CD přidejte krok při vydání. AI agenti mohou generovat protokoly s hashi automaticky.
Co je důležité
- Bundle fixuje celý Git repozitář: historie, větve, tagy – beze ztrát.
- SHA-256 zajišťuje kryptografickou integritu: kolize jsou v praxi nemožné.
- Elektronický podpis s hashem činí protokol technicky prokazatelným u soudu.
- Proces trvá <5 min: tři příkazy + podpis.
- Rizika sporů jsou minimalizována: záměna bundle je odhalena okamžitě.
— Editorial Team
Zatím žádné komentáře.