| [ << Working with source code ] | [Top][Contents][Index][ ? ] | [ Compiling >> ] | ||
| [ < Starting with Git ] | [ Up : Starting with Git ] | [ Installing Git > ] | ||
3.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 the 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 > ] | ||