Managed publishing of your personal git repository: Difference between revisions

From Bitpost wiki
(Created page with "Now that I am officially an [https://gitorious.org/~moodboom open-source software developer] (yay for me! someone's gotta say it...), I have configured my git repositories into ...")
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Now that I am officially an [https://gitorious.org/~moodboom open-source software developer] (yay for me! someone's gotta say it...), I have configured my git repositories into two layers.  The first is where I work, and the second is the published layer.
I have published my code on [https://gitorious.org/~moodboom gitorious]. I work on my code from a lot of different places, whenever I have time, which means I have to make lots of small and insignificant submits.  git can rebase commits, squashing them together into something much nicer and more controlled, and I am making use of that so that everything I push to gitorious is a worthwhile, and hopefully fairly stable, group of changes.


Then there is a third layer, held in one of those public git places that make it fun for everyone to grab your code.
To do this, I have configured my working git repositories into two layers.  The first is where I commit daily work, and the second is the published layer. 
<pre>git branch
  master (published layer)
  daily_grind (working layer)</pre>
My git scripts always make sure these two layers are pushed and pulled and stay in sync.


I set up according to ...
When I am ready to publish a group of commits, I make sure my primary repository is up-to-date.  Then, I merge daily_grind into master.  Master is actually a clone of another repository in a different location, that is a clone of gitorious. Once I am happy with the merge to master, I can cleanly push to the gitorious clone.  Then, I can cleanly push from the gitorious clone to git.
 
It's working great for me.  If you would like to see more, check out my [https://gitorious.org/~moodboom public gitorious repository], or email me for the scripts.

Latest revision as of 01:11, 3 May 2012

I have published my code on gitorious. I work on my code from a lot of different places, whenever I have time, which means I have to make lots of small and insignificant submits. git can rebase commits, squashing them together into something much nicer and more controlled, and I am making use of that so that everything I push to gitorious is a worthwhile, and hopefully fairly stable, group of changes.

To do this, I have configured my working git repositories into two layers. The first is where I commit daily work, and the second is the published layer.

git branch
   master (published layer)
   daily_grind (working layer)

My git scripts always make sure these two layers are pushed and pulled and stay in sync.

When I am ready to publish a group of commits, I make sure my primary repository is up-to-date. Then, I merge daily_grind into master. Master is actually a clone of another repository in a different location, that is a clone of gitorious. Once I am happy with the merge to master, I can cleanly push to the gitorious clone. Then, I can cleanly push from the gitorious clone to git.

It's working great for me. If you would like to see more, check out my public gitorious repository, or email me for the scripts.