1.2.4 Technical notes

TODO: I’m not going to bother with this section. -gp

Let’s explain a bit of Git vocabulary. The git pull origin command is just a shortcut for this command:

git pull git://git.sv.gnu.org/lilypond.git/ MY-BRANCH:origin/MY-BRANCH

A commit is a set of changes made to the sources; it also includes the committish of the parent commit, the name and e-mail of the author (the person who wrote the changes), the name and e-mail of the committer (the person who brings these changes into the git repository), and a commit message.

A committish is the SHA1 checksum of a commit, a number made of 40 hexadecimal digits, which acts as the internal unique identifier for this commit. To refer to a particular revision, don’t use vague references like the (approximative) date, simply copy’n’paste the committish.

A branch is a tree (in the mathematical or computer science sense) of commits, and the topmost commit of this branch is called a head.

The "git fetch" command above has created a branch called origin/web in your local Git repository. As this branch is a copy of the remote branch web from git.sv.gnu.org LilyPond repository, it is called a ‘remote branch’, and is meant to track the changes on the branch from git.sv.gnu.org: it will be updated every time you run ’git pull’ or ’git fetch’ with this branch reference as argument, e.g. by using .git/remotes/web remote file when running ’git fetch web’.

The ’git checkout’ command above has created a branch named ’web’. At the beginning, this branch is identical to ’origin/web’, but it will differ as soon as you make changes, e.g. adding newly translated pages. Whenever you pull, you merge the changes from origin/web and your web branch since the last pulling. If you do not have push (i.e. "write") access on git.sv.gnu.org, your web branch will always differ from origin/web. In this case, remember that other people working like you on the remote web branch of git://git.sv.gnu.org/lilypond.git/ know nothing about your own web branch: this means that whenever you use a committish or make a patch, others expect you to take the lastest commit of origin/web branch as a reference.

This README tries to explain most of Git commands needed for translating the web site. However, you are invited to read further documentation to make git more familiar to you; for instance, take a look at http://git.or.cz/gitwiki/, especially GitDocumentation and GitGlossary; a good alternative to reading the wiki is reading the first two chapters of Git User’s Manual at http://www.kernel.org/pub/software/scm/git/docs/user-manual.html


Contributor’s Guide