[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Starting with Git ] | [ Up : Starting with Git ] | [ Installing Git > ] |
2.2.1 Setting up
TODO: Remove this note if incorporating Windows instructions throughout this section:
Note: These instructions assume that you are using the command-line version of Git 1.5 or higher. Windows users should skip to Git on Windows.
Installing Git | ||
Initializing a repository | ||
Configuring Git |
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Setting up ] | [ Up : Setting up ] | [ Initializing a repository > ] |
Installing Git
If you are using a Unix-based machine, the easiest way to download
and install Git is through a package manager such as rpm
or apt-get
—the installation is generally automatic.
The only required package is (usually) called git-core
,
although some of the auxiliary git*
packages are
also useful (such as gitk
).
Alternatively, you can visit the Git website (http://git-scm.com/) for downloadable binaries and tarballs.
TODO: add Windows installation instructions (or @ref{Git on Windows}).
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Installing Git ] | [ Up : Setting up ] | [ Configuring Git > ] |
Initializing a repository
Once Git is installed, you’ll need to create a new directory where
your initial repository will be stored (the example below uses
‘~/lilypond-git/’, where ~
represents your home
directory). Run git init
from within the new
directory to initialize an empty repository:
mkdir ~/lilypond-git/; cd ~/lilypond-git/ git init
Technical details
This creates (within the ‘~/lilypond-git/’ directory) a subdirectory called ‘.git/’, which Git uses to keep track of changes to the repository, among other things. Normally you don’t need to access it, but it’s good to know it’s there.
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Initializing a repository ] | [ Up : Setting up ] | [ Downloading remote branches > ] |
Configuring Git
Note: Throughout the rest of this manual, all command-line input should be entered from the top directory of the Git repository being discussed (eg. ‘~/lilypond-git/’). This is referred to as a top source directory.
Before downloading a copy of the main LilyPond repository, you
should configure some basic settings with the
git config
command. Git allows you to set both
global and repository-specific options.
To configure settings that affect all repositories, use the
--global
command line option. For example, the first
two options that you should always set are your name and
email, since Git needs these to keep track of commit
authors:
git config --global user.name "John Smith" git config --global user.email john@example.com
To configure Git to use colored output where possible, use:
git config --global color.ui auto
The text editor that opens when using git commit
can also be changed. If none of your editor-related environment
variables are set ($GIT_EDITOR, $VISUAL, or $EDITOR), the default
editor is usually vi
or vim
. If you’re not
familiar with either of these, you should probably change the
default to an editor that you know how to use. For example, to
change the default editor to nano
, enter:
git config --global core.editor nano
TODO: Add instructions for changing the editor on Windows, which is a little different, I think. -mp
Technical details
Git stores the information entered with
git config --global
in the file
‘.gitconfig’, located in your home directory. This file can
also be modified directly, without using
git config
. The ‘.gitconfig’ file generated
by the above commands would look like this:
[user] name = John Smith email = john@example.com [color] ui = auto [core] editor = nano
Using the git config
command without the
--global
option configures repository-specific settings,
which are stored in the file ‘.git/config’. This file is
created when a repository is initialized (using
git init
), and by default contains these lines:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true
However, since different repository-specific options are recommended for different development tasks, it is best to avoid setting any now. Specific recommendations will be mentioned later in this manual.
[ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
[ < Initializing a repository ] | [ Up : Setting up ] | [ Downloading remote branches > ] |