Git/Workflow/Stage: Difference between revisions
(Created page with '=Introduction= Our ''Topic Stage'' repositories provide a central staging area for topic branches under development. Unlike an official repository a topic stage may have any nu…') |
|||
Line 129: | Line 129: | ||
Pushing upstream next | Pushing upstream next | ||
To ../../''repo''.git | To ../../''repo''.git | ||
|} | |||
|- | |||
|colspan="2"| | |||
Print the new state of the stage: | |||
|- | |||
| | |||
:{| | |||
| | |||
$ ssh git@public.kitware.com stage ''repo'' print | |||
... | ... | |||
''topic-name'' | master=0 next=1 | |||
''other-topic'' | master=0 next=1 | |||
... | ... | |||
|} | |} | ||
| | | |
Revision as of 17:15, 8 July 2010
Introduction
Our Topic Stage repositories provide a central staging area for topic branches under development. Unlike an official repository a topic stage may have any number of branches. Developers are free to create, update, and delete topics in the stage through Git's ssh protocol.
Tutorial
Initial Setup
Add a remote called "stage
" to refer to the topic stage:
$ git remote add stage git://public.kitware.com/stage/repo.git $ git config remote.stage.pushurl git@public.kitware.com:stage/repo.git
One may fetch from the stage at any time:
$ git fetch stage --prune
Use the "--prune
" option to remove local references to remote topic branches that have been deleted.
Staging a Topic
Actions | Results | Troubleshooting |
---|---|---|
Create a local topic branch and develop on it. Here we use the placeholder topic-name for the branch name. | ||
...o----o master, ^ *topic-name | ||
...o----o master \ o----o *topic-name | ||
When the topic is ready for publication push it to the stage.
Pushing | ||
|
...o----o master, stage/master \ o----o *topic-name, stage/topic-name |
Viewing all Topics
Actions | Results | Troubleshooting | |
---|---|---|---|
Print the current stage topic table: | |||
|
...o----o stage/master . \ \ . \ o----o stage/topic-name . \ . o----o stage/other-topic . \ ........o stage/next | ||
Each row represents one topic. The first column names the topic, the rest name each integration branch with a 0 or 1 indicating whether it can reach the topic. | |||
One may also get machine-readable output:
|
Merging a Topic
Actions | Results | Troubleshooting |
---|---|---|
Tell the stage to merge the topic into next. It automatically computes a merge commit based on the latest upstream next. | ||
| ||
Print the new state of the stage: | ||
|
...o----o stage/master . \ \ . \ o----o stage/topic-name . \ \ . o----o \ stage/other-topic . \ \ ........o----o stage/next |