Using a central git tree: Difference between revisions

From OLPC
Jump to navigation Jump to search
(+pre)
(inner link)
Line 51: Line 51:
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday git with 20 commands]
* [http://www.kernel.org/pub/software/scm/git/docs/everyday.html Everyday git with 20 commands]
* [http://www.kernel.org/pub/software/scm/git/docs/cvs-migration.html git for CVS users]
* [http://www.kernel.org/pub/software/scm/git/docs/cvs-migration.html git for CVS users]
* [[Git]]

Revision as of 01:05, 18 April 2007

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.

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

1. Clone the central tree to your local machine

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

You only ever need to do this once per each machine on which you do development. The same goes for telling git who you are:

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

2. Hack on the code

Pretty self-explanatory, we'd hope.

3. Do local commits

Use 'git add <file>' to add files to versioning. Delete files from the tree directly if you want them removed. Commit with:

$ git commit -a

This will prompt for a commit message. You may add '-m "Commit message"' to specify it on the command line. Using -s will also add the Signed-off-by line commonly used in Linux development.

4. Push commits upstream

$ git push

If someone else has updated the tree since you last pulled from it, git will complain. In this case, do step 5, and then return to this one.

5. Pull upstream commits

This is the equivalent of 'cvs update':

$ git pull

Links

This is just a summary. For detailed help, see: