git 2.18.0 💾

Git is a distributed version control system, originally designed for Linux kernel development and large projects with non-linear workflows. It's comprised of individual tools, reuses ssh and rsync protocols, emphasises speed and data integrity, and keeps every checkout as full-fledged repository, and cryptographically authenticates source history. Various graphical frontends, IDE integrations and web services (GitHub) exist; with its git-fast-export format meanwhile serves interoperability with

minor feature: Rename detection logic that is used in "merge" and "cherry-pick" has, learned to guess when all of x/a, x/b and x/c have moved to z/a, z/b and z/c, it is likely that x/d added in the meantime would also, want to move to z/d by taking the hint that the entire directory, 'x' moved to 'z'. A causing dirty files involved in a rename, to be overwritten during merge has also been as part of this, work. Incidentally, this also avoids updating a file in the, working tree after a (non-trivial) merge whose result matches what, our side originally had. "git filter-branch" learned to use a different exit code to allow, the callers to tell the case where there was no new commits to, rewrite from other error cases. When built with more recent cURL, GIT_SSL_VERSION can now specify, "tlsv1.3" as its value. "git gui" learned that " /.ssh/id_ecdsa.pub" and, " /.ssh/id_ed25519.pub" are also possible SSH key files. (merge 2e2f0288ef bb/git-gui-ssh-key-files later to maint). "git gui" performs commit upon CTRL/CMD+ENTER but the, CTRL/CMD+KP_ENTER (i.e. enter key on the numpad) did not have the, same key binding. It now does. (merge 28a1d94a06 bp/git-gui-bind-kp-enter later to maint). "git gui" has been taught to work with old versions of tk (like, 8.5.7) that do not support "ttk::style theme use" as a way to query, the current theme. (merge 4891961105 cb/git-gui-ttk-style later to maint). "git rebase" has learned to honor "--signoff" option when using, backends other than "am" (but not "--preserve-merges"). "git branch --list" during an interrupted "rebase -i" now lets, users distinguish the case where a detached HEAD is being rebased, and a normal branch is being rebased. "git mergetools" learned talking to guiffy. The scripts in contrib/emacs/ have outlived their usefulness and, have been replaced with a stub that errors out and tells the user, there are replacements. The new "working-tree-encoding" attribute can ask Git to convert the, contents to the specified encoding whe

GNU LGPL c git scm vcs dvcs