Software-update: Git 2.50.0

Git logo (75 pix) De ontwikkelaars achter Git hebben versie 2.50.0 van hun software uitgebracht. Met Git kunnen onder andere software- en projectontwikkelaars beheer en versiecontrole over data en broncode uitvoeren. Het programma kan worden gezien als een concurrent voor Subversion of Mercurial. Het heeft onder andere complete branching- en mergingfuncties en wordt onder de GPLv2 uitgegeven. De complete changelog voor deze uitgave is hier te vinden; dit zijn de belangrijkste veranderingen en verbeteringen:

UI, Workflows & Features
  • A post-processing filter for "diff --raw" output has been introduced.
  • "git repack" learned "--combine-cruft-below-size" option that controls how cruft-packs are combined.
  • TCP keepalive behaviour on http transports can now be configured by calling cURL library.
  • Incrementally updating multi-pack index files.
  • "git reflog" learns "drop" subcommand, that discards the entire reflog data for a ref.
  • A new userdiff driver for ".ini" format configuration files has been added.
  • The job to coalesce loose objects into packfiles in "git maintenance" now has configurable batch size.
  • "git clone" still gave the message about the default branch name; this message has been turned into an advice message that can be turned off.
  • "git rev-list" learns machine-parsable output format that delimits each field with NUL.
  • "git maintenance" learns a new task to expire reflog entries.
  • Auth-related (and unrelated) error handling in send-email has been made more robust.
  • Updating multiple references have only been possible in an all-or-nothing fashion with transactions, but it can be more efficient to batch multiple updates even when some of them are allowed to fail in a best-effort manner. A new "best effort batches of updates" mode has been introduced.
  • "git help --build-options" reports SHA-1 and SHA-256 backends used in the build.
  • "git cat-file --batch" and friends learned to allow "--filter=" to omit certain objects, just like the transport layer does.
  • "git blame --porcelain" mode now talks about unblamable lines and lines that are blamed to an ignored commit.
  • The build procedure installs bash (but not zsh) completion script.
  • send-email has been updated to work better with Outlook’s SMTP server.
  • "git diff --minimal" used to give non-minimal output when its optimization kicked in, which has been disabled.
  • "git index-pack --fix-thin" used to abort to prevent a cycle in delta chains from forming in a corner case even when there is no such cycle.
  • Make repository clean-up tasks that "gc" can do available to "git maintenance" front-end.
  • Bundle-URI feature did not use refs recorded in the bundle other than normal branches as anchoring points to optimize the follow-up fetch during "git clone"; now it is told to utilize all.
  • The send-email documentation has been updated with OAuth2.0 related examples.
  • Two of the "scalar" subcommands that add a repository that hasn’t been under "scalar"'s control are taught an option not to enable the scheduled maintenance on it.
  • The userdiff pattern for shell scripts has been updated to cope with more bash-isms.
  • "git merge-tree" learned an option to see if it resolves cleanly without actually creating a result.
  • The commit title in the "rebase -i" todo file are now prefixed with #, just like a merge commit being replayed.
  • "git receive-pack" optionally learns not to care about connectivity check, which can be useful when the repository arranges to ensure connectivity by some other means.
  • "git notes --help" documentation updates.

Git

Versienummer 2.50.0
Releasestatus Final
Besturingssystemen Linux, macOS, Windows 10, Windows Server 2016, Windows Server 2019, Windows 11, Windows Server 2022, Windows Server 2025
Website Git
Download https://git-scm.com/downloads
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Bart van Klaveren

Downloads en Best Buy Guide

17-06-2025 • 09:30

7

Submitter: Anonymoussaurus

Bron: Git

Update-historie

20-08 Git 2.51.0 0
17-06 Git 2.50.0 7
16-03 Git 2.49 4
06-'22 Git 2.37 1
05-'22 Git 2.36.1 0
01-'22 Git 2.35.0 0
06-'21 Git 2.32 7
04-'21 Git 2.31.1 1
02-'21 Git 2.30.1 0
12-'20 Git 2.30.0 7
Meer historie

Reacties (7)

7
7
6
2
0
0
Wijzig sortering
Hier een blogpost met wat er allemaal nieuw is, leest iets fijner weg dan het .txt bestand van Git zelf :)

https://about.gitlab.com/blog/what-s-new-in-git-2-50-0/
Realiseer je wel dat dat een artikel van GitLab is, naar mijn idee deels bedoeld om te benadrukken dat zij aan de ontwikkeling van git bijdragen.
Yes, dat doe ik!
Hier is die van GitHub: https://github.blog/open-...highlights-from-git-2-50/ :)

Ik wist dat GitLab een snelheidsverbetering had toegevoegd, vandaar dat ik als eerste op hun blog ging kijken.
Gezien het client-server model van git, vraag ik mij altijd af of deze updates voor de client, de server of beide zijn. Natuurlijk kan het beide tegelijk maar de meeste gebruikers zullen de client software in hun software ontwikkel systeem gebruiken en de server zal door anderen worden beheert.

Daarmee vraag ik mij ook af of het protocol tussen de client en de server veel is aangepast of dat ze wel een paar versies verschil kan overbruggen.
Eigenlijk is git p2p (bv. https://stackoverflow.com...-from-somebody-elses-repo), alleen wordt dit in de praktijk vaak in een client-server jasje gestopt (GitHub, GitLab, ...) waarbij de serverkant vaak extra functionaliteit inbouwt (bv. web interface, user account beheer, pull requests, ...) rondom de git software. De update is dus direct voor beide kanten aangezien beiden dezelfde git software gebruiken.
Zover ik git altijd begrepen heb heeft git geen client-server model. Technisch gezien kunnen wij samen aan dezelfde repo werken en van elkaars lokale repo pullen.

Gitlab, Github en dergelijke draaien allemaal op dezelfde git client als jij en ik op onze computers. Leuke interface eromheen maar verder hetzelfde.


Dat is tenminste hoe ik het altijd begrepen heb.

edit:

Niet goed lezen is ook een vak

[Reactie gewijzigd door StefanJanssen op 17 juni 2025 11:52]

Wat je hebt doorgestreept is wat ik lees als het peer-to-peer systeem. En dat is wat ik uit de andere reactie begrijp dat git origineel ook is. En daarmee dat github en gitlab dus ook een zelfde peer is, maar dan met andere toegevoegde waardes zoals always-on en dergelijke. Het maakt niet uit of je het omschrijft of een bepaalde term gebruikt. Uiteindelijk zullen we het allemaal wel begrijpen.

Op dit item kan niet meer gereageerd worden.