Gipasa ni pagpagawas sa sistema sa pagdumala sa distribusyon nga source code Git 2.54Ang Git kay produktibo kaayo ug nagahatag ug non-linear development capabilities base sa branching ug merging. Aron masiguro ang historical integrity ug resilience sa retroactive changes, kini mogamit ug implicit hashing sa tibuok miaging history sa matag commit, ingon man digital signatures sa indibidwal nga mga tag ug commit. Git Code giapod-apod sa lisensyado ubos sa GPLv2+.
Kon itandi sa miaging pagpagawas, ang bag-ong bersyon naglakip sa 770 ka mga pagbag-o nga giandam uban sa partisipasyon sa 137 ka mga developer (66 niini ang bag-o sa pagpalambo sa Git).
-
Ang mando nga "gipatuman na"kasaysayan sa git", nga naghatag og mga kapabilidad sa eksperimento alang sa pagsulat pag-usab sa kasaysayan sa pagbag-o, mas simple ug luwas Mas sayon kini gamiton kaysa pag-rebase sa mga commit gamit ang git rebase command. Naghatag kini og duha ka operasyon:
- pag-usab sa kasaysayan sa git Aron isulat pag-usab ang mensahe sa gitakdang commit nga dili usbon ang working tree o index (gawas sa note, ang uban dili matandog). Pananglitan, aron ayohon ang typo.
- pagbahin sa kasaysayan sa git aron interaktibo nga bahinon ang gitakdang commit ngadto sa duha ka lain-laing commit, nga ibalhin ang pinili nga mga bahin gikan sa orihinal nga commit ngadto sa dugang nga commit.
Dugang mga sugo ang gilauman nga idugang sa umaabot nga mga pagpagawas: git history fixup aron ayohon ang usa ka commit, git history drop aron tangtangon ang usa ka commit, git history reorder aron usbon ang han-ay sa mga commit, ug git history squash ngadto sa squash commits.
-
Usa ka bag-ong pamaagi sa pag-define sa mga handler ang gipatuman (taga) sa mga configuration file. Imbis nga magbutang og mga script nga adunay mga handler sa .git/hooks directory sa matag repository, ang mga command para sa pag-invoke sa mga handler mahimo na nga direkta nga ma-specify sa mga configuration file. Ang mga setting mahimong i-link sa usa ka repository o i-specify sa mga configuration file nga magamit sa tanang repository (/etc/gitconfig) o user repository (~/.gitconfig). Daghang handler ang mahimong i-bound sa usa ka event. Ang mga script gikan sa .git/hooks padayon nga gitawag, apan kini gipadagan sunod sa mga handler gikan sa mga configuration file. Aron makita ang lista sa mga handler, gamita ang git hook list command, ug aron mapili nga i-disable ang pag-invoke sa mga handler, gamita ang hook setting. .enabled = bakak:
[hook "linter"] panghitabo = pre-commit sugo = ~/bin/linter --cpp20 [hook "walay-leaks"] panghitabo = pre-commit sugo = ~/bin/leak-detector $ git hook list pre-commit global linter ~/bin/linter --cpp20 lokal nga walay-leaks ~/bin/leak-detector
- Sa grupo"pagmentinar sa gitAng geometric nga estratehiya gipagana pinaagi sa default (git config set maintenance.strategy geometric), nga nagpamenos sa oras sa pagmentinar para sa dagkong mga monorepository. Kon itandi sa kaniadto gigamit nga estratehiya, nga migamit og lohika nga susama sa git gc command, ang bag-ong estratehiya naglikay sa pag-repackage sa tanang mga butang ug nagwagtang sa sobra nga mga operasyon nga nagkinahanglan og daghang resources sama sa paghiusa sa tanang packfiles (kon mahimo, ang paghiusa gihimo sa mga bahin ug dili kinahanglan nga limpyohan ang mga natangtang nga mga butang).
- Ang Object Database (ODB) ug ang mga kaubang API niini gibalhin ngadto sa usa ka bag-ong arkitektura nga gibase sa mga pluggable backend. Kini nga pag-usab sa istruktura nag-abstract sa format sa pagtipig sa object ug makapahimo sa pagpatuman sa mga bahin sama sa alternatibong mga backend ug mga format sa object, pananglitan, alang sa mas episyente nga pagtipig sa dagkong mga binary file o alang sa pag-optimize sa performance sa dagkong mga serbisyo sa pag-host sa Git.
- Sa grupo"istruktura sa git repo", nga nagpakita sa impormasyon bahin sa istruktura sa repository, naghatag usa ka pagpakita dili lamang sa kinatibuk-ang gidak-on, apan usab sa pinakadako nga mga butang sa matag tipo, nga nagtugot kanimo sa pagbanabana sa gidak-on nga wala gigamit ang usa ka third-party utility git-sizer.
$git repo structure... | * Pinakadako nga mga butang | | | * Mga Commit | | | * Pinakadako nga gidak-on [1] | 17.23 KiB | | * Pinakadako nga mga ginikanan [2] | 10 | | * Mga kahoy | | | * Pinakadako nga gidak-on [3] | 58.85 KiB | | * Pinakadako nga mga entry [4] | 1.18k | | * Mga Blob | | | * Pinakadako nga gidak-on [5] | 1019.51 KiB | | * Mga Tag | | | * Pinakadako nga gidak-on [6] | 7.13 KiB |
- Sa grupo"git replay", gigamit imbes nga git rebase aron paghimo pag-usab sa kasaysayan sa usa ka server nga walay nagtrabaho nga kahoy, gipagana ang mga pag-update sa atomic ref pinaagi sa default (imbes nga ilista ang mga sugo sa update-ref aron modagan nga mano-mano), gipatuman ang usa ka opsyon nga --revert para sa pag-undo sa mga pagbag-o gikan sa usa ka serye sa mga commit, gisiguro nga ang mga resulta nga walay sulod nga mga commit gilabay, ug gihimo kini nga posible nga paghimo pag-usab sa kasaysayan balik sa root commit.
- SA "git rev-list" ug susamang mga sugo, ang --maximal-only nga opsyon gidugang aron ipakita lamang ang mga commit nga dili maabot sa ubang mga commit.
- Para sa grupo"impormasyon sa git repo» gidugang ang opsyon nga --keys aron ilista ang tanang nailhan nga mga yawe.
- Sa grupo"git add -pKon mag-navigate tali sa mga code block gamit ang "J" ug "K" nga mga yawe, ang mga naaprobahan ug nalaktawan nga mga bloke gimarkahan na karon. Ang opsyon nga --no-auto-advance gidugang aron dili ma-aktibo ang awtomatikong pag-uswag ngadto sa sunod nga file, nga magtugot kanimo sa pagbisita pag-usab sa mga naunang file sa dili pa mag-commit.
- Ang web interface gi-optimize.gitweb» para sa pagtrabaho gamit ang mga mobile device.
- Sa grupo"git apply –direktoryo» nagsiguro nga ang mga agianan sa file sama sa ./un/../normalized/path gi-normalize sa dili pa gamiton.
- Ang abilidad sa pagdugang og custom subcommands pinaagi sa git file placement nadokumento na. sa direktoryo nga adunay mga executable file.
- Para sa grupo"git send-email» Gidugang nga suporta para sa mga sertipiko sa kliyente.
- Para sa grupo"kahimtang sa git» Ang status.compareBranches setting gipatuman na, nga nagtugot kanimo sa pagtino sa mga branch diin ang kasamtangang branch itandi:
[kahimtang] itandi ang mga Sanga = @{upstream} @{push}
- SA "git rebase» gidugang ang opsyon nga --trailer aron pasimplehon ang pagdugang og metadata sa tanang commit:
git rebase --trailer "Gisusi ni: Pagsulay" "`
- Para sa grupo"git fast-import» Gidugang ang abilidad sa pag-ilis sa mga pirma para sa mga commit nga nahimong dili balido human sa pag-import.
- Gidugang ang suporta para sa multi-pack index (MIDX) compaction, nga naghiusa sa gagmay nga MIDX index layers nga adunay impormasyon sa pagkaanaa sa butang ug mga nalambigit nga bitmap, nga nagpamenos sa gidaghanon sa natipon nga mga layer sa dugay nang mga repository.
- Ang sugo nga git backfill karon nagtugot kanimo sa pagtino sa mga rebisyon (mga commit range) ug mga path mask (pathspec) aron limitahan ang na-download nga mga bahin sa kasaysayan sa pagbag-o:
git backfill main~100..main git backfill — '*.c'
- Gidugang ang alternatibong mga porma para sa pagtawag sa git config list command – git config -l ug git config --list.
- Ang mga karakter nga dili ASCII gitugotan sa mga ngalan sa mga alias sa sugo nga gitino sa configuration file:
[alias "kuha"] sugo = kuhaa
- Ang pagpakita sa mga pirma kansang mga GPG key na-expire na apan balido sa panahon nga gipirmahan ang commit giusab na. Kini nga mga pirma gipakita na karon nga balido nga adunay usa ka nota bahin sa pag-expire sa key (kaniadto, kini gi-highlight sa pula, nga naghatag sa impresyon nga kini dili balido).
- Kon mo-access sa mga repository pinaagi sa HTTP, ang error code 429 (Too Many Requests) madumala na sa husto. Ang mga request nga mapakyas niini nga error dili na isipon nga makamatay, apan isip temporaryo nga mga error diin ang operasyon kinahanglan nga sulayan pag-usab human sa usa ka piho nga gidugayon sa oras. Ang retry delay gitino gamit ang opsyon nga http.retryAfter, ang gidaghanon sa mga retries kay http.maxRetries, ug ang timeout kay http.maxRetryTime.
Source: linux.org.ru
