[plt-dev] pushes & pulls & building
On Apr 27, 2010, at 4:14 PM, Robby Findler wrote:
> On Tue, Apr 27, 2010 at 2:47 PM, Ryan Culpepper <ryanc at ccs.neu.edu> wrote:
>> Can anyone explain, succinctly, what's going on?
>
> Yes, please. I'm totally confused.
>
> I know how to use git in a manner similar to the way I used to use svn.
>
> For some context: I was hoping that gits fanciness would allow me to
> have some kind of intermediary between the public repository and my
> various machines. That is, I imagine something where I can let my
> laptop and my machine at home talk to my machine at work so that
> changes I make can be visible in all three places without having to
> make them public to the whole world.
I currently do this. The way I do this is the following:
1) Create a clone of the PLT tree in my usr. For example,
ssh git.racket-lang.org fork plt usr/sstrickl/plt
2) Use that as the origin for clones on my machines. On each machine, I do:
git clone git.racket-lang.org:usr/sstrickl/plt
3) Add a remote for the official PLT repo for convenience in each such repo.
git remote add git-plt git.racket-lang.org:plt
4) When I need to pull in changes made by others on the main repo, I do:
git fetch git-plt
git merge git-plt/master
git push
which takes the new changes from the main git repo and applies them to my copy.
5) When I finally am ready to push my commits to the main repo, I just do:
git push git-plt master
(Notice I'm ignoring rebasing here. That makes it more complicated, but for the kinds of uses people are doing now, where they're just merging/pushing, you can use the above workflow to keep your own private repo in your usr space and coordinate between your own machines.)
Stevie