kumasulidwa kwa distributed source control system . Git ndi imodzi mwazinthu zodziwika bwino, zodalirika, komanso zotsogola zotsogola zomwe zimapereka zida zachitukuko zosasinthika kutengera nthambi ndi kuphatikiza nthambi. Kuwonetsetsa kukhulupirika kwa mbiri yakale komanso kukana kusintha kwa "backdating", kubisa mbiri yonse yam'mbuyomu pakupanga kulikonse kumagwiritsidwa ntchito, ndizothekanso kutsimikizira ma tag amodzi ndikuchita ndi siginecha ya digito ya omwe akupanga.
Poyerekeza ndi kumasulidwa koyambirira, Baibulo latsopanoli linaphatikizapo kusintha kwa 583, kokonzedwa ndi kutenga nawo mbali kwa opanga 84, omwe 32 adatenga nawo gawo pa chitukuko kwa nthawi yoyamba. :
- Ma clone osakwanira, omwe amakulolani kusamutsa gawo limodzi la deta ndikugwira ntchito ndi kopi yosakwanira ya malo osungiramo, akuyandikira kukhazikika ndi kupezeka kwathunthu. Clone wamba imakopera deta yonse kuchokera ku malo osungiramo, kuphatikiza mtundu uliwonse wa fayilo iliyonse m'mbiri yokonzanso. Pa malo osungiramo akuluakulu kwambiri, kukopera deta kumawonjezera kwambiri bandwidth ndi malo a disk, ngakhale wopanga mapulogalamu ali ndi chidwi ndi gawo laling'ono la mafayilo. Kuti zikhale zosavuta kupeza gawo limodzi la mtengo wogwirira ntchito, kutulutsidwa kwatsopano kumayambitsa lamulo loyesera la "sparse-checkout" ndi njira yatsopano ya "--sparse" ya lamulo la "clone".
Kale, njira yosankha cloning inkachitika kudzera mu ntchito kusefa zinthu zosafunikira ndi njira ya "--no-checkout" kuti mulepheretse kubwezeretsanso mafayilo omwe akusowa. Pambuyo pa izi, musanachite ntchito yolipira, kunali kofunikira kuyatsa core.sparseCheckout ndikulongosola mndandanda wa njira zomwe mungachotse mu fayilo ya .git/info/sparse-checkout. Mwachitsanzo, kuti mukope popanda ma blobs ndikuletsa mafayilo kuti asachotsedwe m'mafoda okhala ndi kuya kwa 2 kapena kuposerapo, mutha kuyendetsa:
git clone --filter=blob:none --no-checkout /your/repository/here repo
$ cd repo
$ cat >.git/info/sparse-checkout
/*
!/*
EOF
$ git config core.sparseCheckout 1
$ git kutuluka.Lamulo latsopano la "git sparse-checkout" limathandiza kwambiri kuti ntchito iyende bwino ndipo limachepetsa njira yokonzekera ntchito ndi malo osakwanira ku malamulo otsatirawa:
git clone --filter=blob:none --sparse /your/repository/here repo
git sparse-checkout set /path/to/check/outLamulo la sparse-checkout limakupatsani mwayi wokhazikitsa mndandanda wa njira zogulira (kukhazikitsa) popanda kukhazikitsa pamanja .git/info/sparse-checkout, komanso kusindikiza mndandanda wa njira zomwe zilipo (mndandanda) ndikuyatsa kapena kuletsa zolipirira pang'ono (kuyambitsa/kuletsa).
Kuti mugwire bwino ntchito ndi malo osungiramo zinthu akuluakulu komanso mndandanda wa ma template, "", zomwe zimaletsa mapangidwe ololedwa (m'malo mwa mapangidwe a .gitignore, mutha kufotokoza ngati njira zonse ndi mafayilo onse mu subdirectory yoperekedwa ziyenera kuchotsedwa). Mwachitsanzo, ngati malo osungiramo zinthu akuluakulu ali ndi chikwatu "A/B/C" ndipo ntchito yonse yakhazikika mu subdirectory "C", ndiye kuti sparseCheckoutCone mode ikayatsidwa, lamulo "git sparse-checkout set A/B/C" lidzayang'ana zonse zomwe zili mu "C", koma kuchokera ku "A" ndi "B" lidzangoyang'ana zigawo zofunika pogwira ntchito ndi "C".
- Zolemba (git rebase -h) zachotsa maumboni onse okhudza njira ya "--preserve-merges", yomwe yachotsedwa ndipo iyenera kusinthidwa ndi "".
- Kuti mauthenga a patch omwe amatumizidwa ku mndandanda wamakalata azitha kuwerengedwa mosavuta, njira ya "git format-patch --cover-from-description subject" yawonjezedwa. Ikafotokozedwa, njira iyi imagwiritsa ntchito ndime yoyamba ya mawu ofotokozera nthambi ngati mutu wa kalata yophimba ya patch seti.
- Thandizo logwiritsidwa ntchito pogwiritsira ntchito lamulo la "git apply --3way" ndi "merge.conflictStyle" ("git apply" tsopano ikuganizira kalembedwe ka kufotokozera mikangano kuchokera ku merge.conflictStyle pothetsa mkangano mutayesa kugwiritsa ntchito fayilo ya patch ku malo osungira).
- Khodi yofotokozera ntchito yomwe imagwiritsidwa ntchito mu ntchito monga git diff/grep --show-function/--function-context yawonjezeredwa kuti ithandizire kufotokoza malire a ntchito mu mapulogalamu olembedwa mu .
- Njira yatsopano "--pathspec-from-file" yawonjezedwa ku "git add", "git commit", "git reset" ndi malamulo ena, zomwe zimakulolani kuti mutsegule mndandanda wa njira kuchokera pa fayilo kapena mtsinje wolowera, m'malo mozilemba pamzere wolamula.
- Vuto la kuzindikira kusintha kwa dzina la chikwatu panthawi yolembetsa lathetsedwa. Kuzindikira kumeneku kwalephera posuntha zomwe zili mu chikwatu chaching'ono kupita ku muzu wa malo osungiramo zinthu.
- Kukhazikitsa koyamba kwa lamulo lolembedwanso la "git add -i", lolola kuwonjezera zinthu zosinthidwa, kwaperekedwa, kulembedwanso kuchokera ku Perl kupita ku C. Kulembanso kofanana kwa lamulo la "git add -p" kukuchitika.
- Lamulo la "git log --graph", lomwe limapanga chithunzi cha ASCII cha graph yokhala ndi mbiri ya kusintha kwa malo osungiramo zinthu, linasinthidwa. Kusinthaku kunasintha kwambiri ndikupangitsa kuti zotsatira zake zikhale zosavuta popanda kusokoneza kapangidwe ka mbiri, zomwe, mwachitsanzo, zinathetsa vuto lomwe graph ingapitirire kupitirira m'lifupi mwa mzere wa terminal.
- Njira ya "git log --format=.." imakulolani kusintha mtundu wa zotuluka,
Chithandizo chowonjezeka cha mbendera za "l/L" kuti chiwonetse gawo lokha la adilesi ya imelo yomwe yatchulidwa patsogolo pa chizindikiro cha "@" (mwachitsanzo, chothandiza pamene opanga mapulogalamu onse ali ndi maimelo mu domain yomweyo). - Adawonjezera lamulo laling'ono la "set-url" ku lamulo la "git submodule".
- Zipangizo zoyesera zasinthidwa pokonzekera kusintha kwa
SHA-2 hashing algorithm m'malo mwa SHA-1.
Source: opennet.ru
