The new version of Git 2.30 has already been released and in this new version some important changes are presented such as the ability to expand commands, as well as updating templates for PHP, Rust and CSS, among other things.
For those unfamiliar with Git, you should know that eThis is one of the most popular version control systems, reliable and high-performance, providing flexible non-linear development tools based on branching and merging.
To guarantee history integrity and resistance to changes "retroactively", implicit hashing of all previous history is used in each commit, it is also possible to certify with digital signatures of individual tags and commits developers.
Git 2.30 Key New Features
Compared to the previous version, 495 changes were adopted in the new version, prepared with the participation of 83 developers, of which 29 participated in the development for the first time.
In this new version of Git 2.30 in the configuration, the help.autocorrect parameter can now be set to 'never' to completely disable logic for detecting typos in command names (by default, if a non-existent command is specified, git parses for typical typos and runs the corrected command if only a replacement option is specified) .
Another change that stands out from this new version of Git 2.30, is in the userdiff templates that have been updated for PHP, Rust, and CSS.
Besides that it is also mentioned that added the ability to expand commands that are aliases to the autocomplete script command line options as well as support for "git stash show" parameters that are similar to "git diff" parameters and also updated autocomplete scripts for Zsh.
On the other hand, it is mentioned that the option «-I » has been added to the "git diff" family commands to ignore parts where changes match a given pattern and that the ability to customize the size of file names created by the "git format-patch" command has been provided (previously there was a 64 character limit).
In the option "–End-of-options" has been added to the "git rev-parse" command, which helps in scripts to explicitly separate the parameter with revision, for example "git rev-parse –verify -q –end-of-options $ rev".
In "git update-ref –stdin" the ability to process multiple transactions in one session was added.
Added "–literal-value" option to various "git config" subcommands to pass the value_regex value not as a regular expression, but as a string to find an exact match.
Of the other changes that are highlighted in the announcement of the new version:
- Compression levels greater than -9 are allowed in "git archive" when creating tar.gz.
- Added support for defining functions in bash and POSIX shell.
- In the "git working tree list", the display of the working tree lock sign is implemented.
- Rewriting of the command "git bisect" in C language continued.
- For the command "git diff A ... B", a more informative analog of "git diff –merge-base AB" is suggested.
- The development of the "git maintenance" command, an extended version of "git gc", continues.
- Added the option "–force-if-includes" to "git push", in order to solve the problem of losing commits when using the command "git push –force-with-lease [= ] »Incorrectly.
- Specifying "–force-if-includes" together with "–force-with-lease" additionally checks the relevance of superseded commits.
- For "git clone", the clone.defaultremotename setting has been added, allowing you to define the name that will be used to refer to the host from which the repository was cloned.
- For "git checkout" the checkout.guess option was added to configure the use of the "–guess" option by default.
Finally, if you are interested in knowing more about it About this new version of Git 2.30, you can check the details by going to the following link.