Git/Obtaining Git
Git is available for *nix operating systems, as well as MacOS and Windows.
Binary
editLinux
editDebian-based distributions (.deb)
editGit is available on Debian, and derivatives like Ubuntu. It is currently packaged as git
. More recent packages of git are available from the Ubuntu Git Maintainers' PPA. You may also want to install some extended git functionality, for example git-svn, which allows two-way interoperability with Subversion, or git-email which provides utility functions for sending and receiving git data (primarily patches) via email.
$ sudo apt-get install git git-svn git-email
RPM-based distributions (.rpm)
editLinux distributions using the RPM package format can use yum to get git:
$ sudo yum install git-core
macOS
editA graphical installer can be found at Google code. Alternative, if you have MacPorts installed, you can do
$ sudo port install git-core
git is also included in the com.apple.pkg.Core package:
pkgutil --file-info `which git`
volume: /
path: /usr/bin/git
pkgid: com.apple.pkg.Core
pkg-version: 10.13.4.1.1.1522206870
install-time: 1526062261
uid: 0
gid: 0
mode: 755
Windows
editGit for Windows is available as a precompiled binary msysGit. This includes the command line utilities, a GUI, and an SSH client.
Additionally, those with Cygwin can use its setup to obtain Git.
Source
editTarball
editYou can obtain a copy of the newest stable git from the git homepage at: git.or.cz. In addition, daily snapshots of git are provided by Dave Jones.
Below is an example of how to compile git from source, change "git-1.5.3.4.tar.gz" to the version you downloaded:
mkdir ~/src
cd ~/src
wget http://kernel.org/pub/software/scm/git/git-1.5.3.4.tar.gz
tar xzvf git-1.5.3.4.tar.gz
cd git-1.5.3.4
make configure
./configure --prefix=/usr/local
make
sudo make install
Without the added --prefix
argument git will currently install to ~/bin
. This may or may not be what you want, in most distributions ~/bin
is not in the $PATH.[1] Without the --prefix, you might have to explicitly state the path to the component programs on invocation, i.e.: ~/bin/git-add foobar
. You can set --prefix
to whatever better suits your particular setup.
Git
editThe source can additionally be acquired via git using:
$ git clone git://git.kernel.org/pub/scm/git/git.git
Or in the event you have problems with the default Git port of 9418:
$ git clone http://www.kernel.org/pub/scm/git/git.git
First configuration
editTo avoid to reenter one's credential during each sync, register the account:
git config --global user.email "michael.boudran@en.wikibooks.org"
git config --global user.name "Michael Boudran"
To check the config:
git config -l
To avoid the password in Linux, it's necessary to store it in plain text into:
vim ~/.netrc
With (ex: for github.com):
machine github.com login <user> password <password>
Please note that GitHub no longer use's Username and Password for authentication since September 2021. Instead, GitHub uses Authentication Tokens generated on https://github.com/settings/tokens. A replacement for the above example would be:
machine github.com login <user> password <token>
Other Git clients
editSome integrated development environments like NetBeans or PhpStorm also provide or complete Git client.
TortoiseGit allows to access to its Git commands by right-clicking on the concerned files and folders.
Footnotes
edit- ^ One effort to amend the lack of consistency through modern distributions and
~/bin
, has been addressed by the Ubuntu developers which seeks to patch PAM, the authentication mechanism, to set up the environmental variable$PATH
. You can find more information out about this at https://bugs.launchpad.net/ubuntu/+source/pam/+bug/64064.