A Git 2.45 verzió kiadása

Két hónapnyi fejlesztés után megjelent a Git 2.45 verzió, amely egy elosztott forráskódkezelő rendszer. A Git az egyik legnépszerűbb, megbízható és nagy teljesítményű verziókezelő rendszer, rugalmas, nemlineáris fejlesztési eszközöket kínál, amelyek a branchedés és az összefésülés alapjain nyugszanak. A történelem integritásának és a visszamenőleges változtatásokkal szembeni ellenállás biztosítása érdekében minden egyes elkötelezettségnél implicit hash-elést alkalmaznak, amely magában foglalja a korábbi történelem egészét, valamint lehetőséget biztosít a fejlesztők digitális aláírásainak a különböző címkék és elkötelezettségek hitelesítésére. A Git kódja GPLv2+ licenc alatt terjed.

A korábbi kiadáshoz képest az új verzió 540 módosítást tartalmaz, amelyeket 96 fejlesztő készített, közülük 35-en először vettek részt a fejlesztésben. A fő újítások:

  • Előzetes támogatás került bevezetésre a «reftable» háttérhez, amely hatékony tárolást biztosít a repository-ban lévő hivatkozásokhoz a branch-ek és címkék számára. Az új háttér blokkalapú tárolást használ, amelyet a JGit projekt alkalmaz, és amelyet nagyon nagy számú hivatkozás tárolására optimalizáltak (a hagyományos hivatkozási tárolási formátumok jelentős költségeket okoznak a repository-kban, amelyek nagy számú hivatkozással rendelkeznek, mivel nagyon sok fájl tárolódik egyetlen mappában, ha a hivatkozásokat a $GIT_DIR/refs mappában tárolják, vagy egy nagy fájl újraírására van szükség minden frissítés esetén, ha a hivatkozásokat a $GIT_DIR/packed_refs fájlban tárolják). Az új háttér engedélyezhető a «—ref-format=reftable» opció megadásával a repository inicializálásakor («git init —ref-format=reftable /path/to/repo»), és lehetővé teszi a keresések, olvasások és írások felgyorsítását olyan repository-k esetében, amelyek nagy számú hivatkozással rendelkeznek.
  • Az SHA-1 és SHA-256 alapú objektumazonosítók közötti hordozhatóság biztosításához eszközöket biztosítottak. Az SHA-1 és SHA-256 hashek egy repozitóriumban való kezeléséhez, a SHA-256 hashekre történő fokozatos migráció során egy új "kompatibilitási" objektumformát javasoltak, amely lehetővé teszi az objektumokra való hivatkozást nemcsak az alap hashel, amelyet a repozitórium inicializálásakor állítanak be, hanem a tartalék hash segítségével is. Például, a repozitórium inicializálása során választható a SHA-256 formátum, a tartalék hash-ként pedig a SHA-1 hash megadása: git init —object-format=sha256 /path/to/repo cd /path/to/repo git config extensions.compatObjectFormat sha1
  • A "git rev-list" parancshoz hozzáadták a lehetőséget, hogy megjelenítse a helyi repozitóriumon kívüli objektumazonosítókat, még akkor is, ha azok a ágon vagy a címkén nem érhetők el, ami diagnosztikára használható a repozitórium sérülésének azonosítására: git rev-list —missing=print —all | grep ‘^?’ ?70678e7afeacdcba1242793c3d3d28916a2fd152
  • Új "git reflog list" parancs került hozzáadásra az ismert reflogok és a hozzájuk tartozó címkék és ágak megjelenítésére.
  • Lehetővé vált alternatív előtagok megadását a "git diff" kimenetéhez, amelyek a fájlútvonal előtt jelennek meg, és jelzik a fájl egy adott verziójának előtti és utáni állapotot (alapértelmezés szerint az "a/" és "b/" előtagokat használják). A saját előtagok megadásához új diff.srcPrefix és diff.dstPrefix konfigurációs paraméterek kerültek hozzáadásra.
  • Hozzáadták a core.commentString paramétert, amely meghatározza azt a határoló sort, amely a "#" jel helyett kerül felhasználásra a megjegyzések figyelmen kívül hagyásához a commit üzenetben. A korábban elérhető core.commentChar beállítást úgy alakították át, hogy támogassa a több bájtos karaktereket, mint határolót (korábban csak ASCII karakterek támogattak).
  • A "git config" parancshoz hozzáadták a "—comment" opciót, amely lehetővé teszi a megjegyzések tárolását a .gitconfig fájlban a különböző beállítások mivoltának magyarázatára. git config —comment ‘a merge base megjelenítésére’ merge.conflictStyle diff3 tail -n 2 .git/config [merge] conflictStyle = diff3 # a merge base megjelenítésére
  • A "git cherry-pick" parancshoz hozzáadták a "—empty" opciót az ütögetett commitok automatikus eltávolítására, hasonlóan az git-rebase és git-am "—empty" opciójához.
  • A "git checkout -p" parancsban engedélyezve lett a "@" szimbólum használata a "HEAD" név szinonimájaként.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster