Using a central git tree

From OLPC
Revision as of 05:02, 2 July 2014 by Quozl (talk | contribs)
Jump to navigation Jump to search
NB: this was originally copied from an original at dev.laptop.org; we are moving away from using that wiki; please make this the latest version in the future.

Note: See importing your project if you're importing a new project to the OLPC servers-- you'll have to do a few extra things before you can get up and running.

If you're familiar with centralized systems like CVS or SVN, this will be just learning a bit of new syntax.

Identify yourself

Tell git who you are:

$ git config user.name "FirstName LastName"
$ git config user.email "user@example.com"

This is used in commit messages. You only ever need to do this once per each machine on which you do development.

Clone the central tree

Using a git over ssh, if you have an account on dev.laptop.org,

$ git clone git+ssh://dev.laptop.org/projects/MYPROJECT

or if you have no account,

$ git clone git://dev.laptop.org/projects/MYPROJECT

You only ever need to do this once per each machine on which you do development.

Hack on the code

Pretty self-explanatory, we'd hope.

Do local commits

Use git add <file> to add files to version control. Delete files from the tree directly if you want them removed, or use git rm <file>. Commit with:

$ git commit -a

This will ask for a commit message using a text editor. You may add -m "Commit message" to specify it on the command line. Use -s to add the Signed-off-by line commonly used in Linux kernel development.

Push commits upstream

$ git push

If someone else has updated the tree since you last pulled from it, and git cannot resolve the changes easily, git will complain. In this case, do a git pull --rebase, and then repeat the push.

Pull upstream commits

This brings to your machine the changes made by others. It is the CVS equivalent of update:

$ git pull

See also