Somewhat OT: trying to git cozy with git

I've been using Subversion since I started doing Rails. I wouldn't say I like it, but it is "comfortable" at this point.

Now that the Rails core team seems to be pushing the Rails community in the direction of Git as the "norm", I'm tempted to make the move too, but there is one aspect of Git that has me feeling a bit "un-cozy".

I'm used to having a central repository sitting out on my server, that I can always use to get an up-to-date version of my work, regardless of which one of my machines I'm using or where I am on the planet.

How are folks that are used to the central repository way of life adapting to Git? Seems like you would have to remember to always do everything twice. Once to update your local Git, and then again to push it out to the server.

Is there some other way of working with Git that makes it more like the central repository workflow I'm used to?

I've seen the peepcode and railscast episodes on git. Any other good references you want to share?

thanks, jp

Is there some other way of working with Git that makes it more like the central repository workflow I'm used to?

You could always add "git push" to your .git/hooks/post-commit file. That way, whenever you commit locally, it's automatically pushed to your central server.

- D

Although I think that there are reasons not to do that.

It's advantageous at times to keep a local set of branches which are not available to others before you release them. Once you've made them visible to others you don't want to do things like rebase which can be very nice in keeping a parallel thread in development in sync.

The cool thing is that you can setup remotes of your other machines and pull from those as well

I have these *exact* thoughts, too; which keeps me coming back to Subversion as the way to go.

Also, Rubyforge.org has svn access - however, I cannot access it through work's blocked firewall. Which makes me wonder if git will help with that, being a repository on a thumbdrive, etc.

But in terms of always having "one place" to stuff code that you can forget about and get at from a different location - I can't think of how Git will solve that question/need - especially when it is just one developer on a personal "sandbox" project.