Update Git on Ubuntu. Git 2.9 Source Code Management System. Install Git on Ubuntu 16.04 Systems. Git version control system was developed by Linus Torvalds to support the development of the linux kernel.
Git 2.9 brings various improvements and new features. It brings an experimental feature called “multiple worktree.”
It brings various performance improvements, better architecture support and development support and numerous fixes.
Performance, Internal Implementation, Development Support [Changes]:
- The embedded args argv-array in the child process is used to build the command line to run pack-objects instead of using a separate array of strings.
- A test for tags has been restructured so that more parts of it can easily be run on a platform without a working GnuPG.
- The startup_info data, which records if we are working inside a repository (among other things), are now uniformly available to Git subcommand implementations, and Git avoids attempting to touch references when we are not in a repository.
- The command line argument parser for “receive-pack” has been rewritten to use parse-options.
- A major part of “git submodule update” has been ported to C to take advantage of the recently added framework to run download tasks in parallel. Other updates to “git submodule” that move pieces of logic to C continues.
- Rename bunch of tests on “git clone” for better organization.
- The tests that involve running httpd leaked the system-wide configuration in /etc/gitconfig to the tested environment.
- Build updates for MSVC.
- The repository set-up sequence has been streamlined (the biggest change is that there is no longer git_config_early()), so that we do not attempt to look into refs/* when we know we do not have a Git repository.
- Code restructuring around the “refs” API to prepare for pluggable refs backends.
- Sources to many test helper binaries and the generated helpers have been moved to t/helper/ subdirectory to reduce clutter at the top level of the tree.
- Unify internal logic between “git tag -v” and “git verify-tag” commands by making one directly call into the other.
- “merge-recursive” strategy incorrectly checked if a path that is involved in its internal merge exists in the working tree.
- The test scripts for “git p4” (but not “git p4” implementation itself) has been updated so that they would work even on a system where the installed version of Python is python 3.
- As nobody maintains our in-tree git.spec.in and distros use their own spec file, we stopped pretending that we support “make rpm”.
- Move from “unsigned char[20]” to “struct object_id” continues.
- Running tests with ‘-x’ option to trace the individual command executions is a useful way to debug test scripts, but some tests that capture the standard error stream and check what the command said can be broken with the trace output mixed in. When running our tests under “bash”, however, we can redirect the trace output to another file descriptor to keep the standard error of programs being tested intact.
- Common mistakes when writing gitlink: in our documentation are found by “make check-docs”.
- “git cat-file –batch-all” has been sped up, by taking advantage of the fact that it does not have to read a list of objects, in two ways.
- A bash-ism “local” has been removed from “git submodule” scripted Porcelain.
- Also contains various documentation updates and code clean-ups.
Install Git 2.9
Run the following commands in Terminal to install Git 2.8.3 on Ubuntu, via PPA:
$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt-get update
$ sudo apt-get install git