Go It is one of the most popular, reliable and high-performance version control systems, and provides flexible nonlinear development tools based on versions and merges.
To ensure history integrity and resistance to hindsight changes, implicit hashing of all previous history is used on each commit and the digital signatures of individual tag developers and confirmations can also be verified.
The new version of the Git 2.21.0 distributed source control system was recently released.
Compared to the previous version, 500 changes were made to the new version, prepared with the participation of 74 developers, of whom 20 participated in development for the first time.
Git 2.21.0 Key New Features
The option «–Date = human« added to "git log" and other commands, allowing you to display dates in an abbreviated and readable way.
With that it is possible to choose the format adapted according to the age of the event. For actions that have just been carried out, "N minutes ago" will be indicated (as in "–Date = relative"), for recent events the day and time will be shown and for old changes only day, month and year.
In addition, option is provided «–Date = auto: human", which applies the new format only when it is sent through the terminal and when the output is redirected to a file or other command it uses the default format.
In the command «git cherry pick ", it is possible to use the option «-m" (principal line) when specified "Git cherry-pick -m1", that is, allows you to reapply a commit by selecting the first parent of this commit as a branch of the main line. In other cases, the error will still show up.
To optimize performance, the command «git log -G«, Which performs regular expression searches, now does not perform a binary file search unless the« option is explicitly specified–Text»Or don't use textconv.
Configuration added «http.version«, That allows you to determine the preferred version of the HTTP protocol used when retrieving or submitting changes. The option requires a relatively new cURL library.
The "git worktree remove" and "git worktree move" commands can now be used if there are submodules not initialized in the working tree (previously these operations could not be used if there was no submodule).
Specifying the "–format =" option for versions, labels, and searching for links expands the list of properties for objects retrieved through the object_info API.
New algorithm
In this new release of Git 2.21.0 optional ability to use SHA-256 hashing algorithm instead of SHA-1 is highlighted committed when Git is created in »NewHash« mode.
Originally it was planned to use the SHA3-256 algorithm, but ultimately the developers focused on SHA-256, since SHA2 is already used in Git for digital signatures.
The logic of choice is that when using SHA-256 and SHA3-256 in Git code, compromising either of them will lead to security issues, so it is better to rely on one algorithm rather than two.
Furthermore, SHA-256 is widely distributed and supported in all crypto libraries, and it also shows very good performance.
other developments
- The command "git checkout [tree-ish]" outputs the number of paths to be extracted from the index or object tree (tree-ish).
- The "–keep-non-patch" option is added to the "git quiltimport" command.
- Updated implementation of the "git diff –color-moved-ws" command.
- Support for the "% S" flag has been added to "log –format" to display a hint about the origin of the commit input.
How to install Git 2.21.0 on Linux?
Finally, if you want to update or install this tool, we just have to open a terminal in our system and type in one of the following commands.
Debian / Ubuntu
sudo apt-get install git
Fedora
sudo dnf install git
Gentoo
emerge --ask --verbose dev-vcs/git
Arch Linux
sudo pacman -S git
openSUSE
sudo zypper install git
Mageia
sudo urpmi git
Alpine
sudo apk add git