Using a central git tree: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (..)
 
(..)
Line 1: Line 1:
:''NB: this was originally copied from an original at [http://dev.laptop.org/wiki/CentralTree dev.laptop.org]; this will be the most current version in the future.''
:''NB: this was originally copied from an original at [http://dev.laptop.org/wiki/CentralTree 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.
If you're familiar with centralized systems like CVS or SVN, this will be just learning a bit of new syntax.

Revision as of 18:31, 31 March 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: