git 2.21.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: Historically, the "-m" (mainline) option can only be used for "git, cherry-pick" and "git revert" when working with a merge commit. This version of Git no longer warns or errors out when working with, a single-parent commit, as long as the argument to the "-m" option, is 1 (i.e. it has only one parent, and the request is to pick or, revert relative to that first parent). Scripts that relied on the, behaviour may get broken with this change. The "http.version" configuration variable can be used with recent, enough versions of cURL library to force the version of HTTP used, to talk when fetching and pushing. Small and features for fast-export and fast-import, mostly on, the fast-export side has been made. "git push there src: dst" rejects when dst is not a fully, qualified refname and it is not clear what the end user meant. The, codepath has been taught to give a clearer error message, and also, guess where the push should go by taking the type of the pushed, object into account (e.g. a tag object would want to go under, refs/tags/). "git checkout path..." learned to report the number of, paths that have been checked out of the index or the tree-ish, which gives it the same degree of noisy-ness as the case in which, the command checks out a branch. "git checkout -m. " to, undo conflict resolution gives a similar message. "git quiltimport" learned "--keep-non-patch" option. "git worktree remove" and "git worktree move" refused to work when, there is a submodule involved. This has been loosened to ignore, uninitialized submodules. "git cherry-pick -m1" was forbidden when picking a non-merge, commit, even though there _is_ parent number 1 for such a commit. This was done to avoid mistakes back when "cherry-pick" was about, picking a single commit, but is no longer useful with "cherry-pick", that can pick a range of commits. Now the "-m num" option is, allowed when picking any commit, as long as num names an existing, parent of the commit. Update "git mul

GNU LGPL c git scm vcs dvcs