Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
soc:2008:git-usage [2008/05/22 07:32] mdc created |
soc:2008:git-usage [2008/06/09 06:26] (current) mdc |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Using git for gPXE development during GSoC 2008 ===== | ====== Using git for gPXE development during GSoC 2008 ===== | ||
| + | ===== Overview ===== | ||
| + | During GSoC, you will be working with three git repositories: | ||
| + | * The master project repository | ||
| + | |||
| + | * Your local working repository | ||
| + | |||
| + | * Your personal public repository | ||
| + | |||
| + | You will edit code in your local working repository. Every so often (at least once a week, preferably more) you will push changes from your local working repository to your personal public repository. This allows us to see your code. | ||
| + | |||
| + | You will occasionally need to pull changes from the master project repository, in order to keep your local working repository up to date with the main gPXE codebase. | ||
| + | |||
| + | When your code is ready to be merged into the main gPXE codebase, we will pull from your personal public repository. | ||
| + | ===== Setting up your repositories ===== | ||
| + | |||
| + | Start by downloading the source tree as per the instructions on the [[:download|Download]] page: | ||
| + | |||
| + | git-clone git://git.etherboot.org/scm/gpxe.git | ||
| + | |||
| + | This will create your local working repository. | ||
| + | |||
| + | Add a link to your personal public repository: | ||
| + | |||
| + | cd gpxe | ||
| + | git-remote add personal git+ssh://USERNAME@git.etherboot.org//pub/scm/people/USERNAME/gpxe.git | ||
| + | |||
| + | where //USERNAME// is your username on rom.etherboot.org. | ||
| + | |||
| + | Make sure that your personal public repository is up to date: | ||
| + | |||
| + | git-push personal | ||
| + | ===== Example workflow ===== | ||
| + | |||
| + | This example shows you the various stages of creating code and publishing it. | ||
| + | |||
| + | Start by creating a branch to work in: | ||
| + | |||
| + | cd gpxe/src | ||
| + | git-checkout -b mywork origin/master | ||
| + | git-push personal mywork | ||
| + | |||
| + | Edit and commit some files: | ||
| + | |||
| + | emacs drivers/net/mydriver.c | ||
| + | git-commit drivers/net/mydriver.c | ||
| + | |||
| + | Publish your changes: | ||
| + | |||
| + | git-push personal | ||