After three months of development a new release of the distributed system of management of source texts, Git 2.44, has been published. Git is one of the most popular, reliable, and high-performance version management systems that provide flexible means of nonlinear development based on branch and branch fusion. To ensure the integrity of history and resistance to retroactive changes, implicit hashing of the entire previous story in each commit is used, and it is possible to certify the digital signatures of developers for individual tags and commits. Git code is distributed under the GPLv2+ license.
Compared to the previous version, the new release includes 503 changes prepared by 85 developers, with 34 being first-time contributors. The main innovations in Git 2.44 are:
- Added a new Git Replay command, which can be used as an alternative to Git Rebase. It is used to recreate history on the server without a working tree, processing several branches simultaneously, performing Rebase operations for branches that are different from the current one, or to speed up merger operations.
- Support for the Gitlab Ci continuous integration system was added.
- Added support for pathspec in the commands “Git Add” and “Git Stash”, allowing for filtering file routes’ access rights and the re-use of executable files.
- Added support for re-use of objects distributed by several Pack files, optimizing the retrieval of data already present in Pack files. This feature allows Git to process objects on top of multiple Pack files without the need to re-finalize the repository into one Pack file. New commands such as “Git Config –Global Pack.allowpackreuse Multi” and “Git Multi-Pack-index Write –bitMap” enable monitoring of the number of pack files from which objects are re-used during “Git Push”.
- The Git Rebase-Autosquash command can now be used for Rebase operations in a non-interactive mode, allowing for quick application of Fixup-violations without inspecting changes in the GIT_SEQUENCE_EDITOR