Matthieu Moy <Matthieu.Moy <at> imag.fr> writes: > > Jeff King <peff <at> peff.net> writes: > > > On Wed, May 20, 2009 at 07:37:54PM -0400, Big Lebowski wrote: > > > >> Essentially, when I came on a project, a git repository was made > >> available to me (lets call that 'public_repo'). That repository was put up > >> on an unfuddle account, as an initial check-in; it was not cloned from the > >> repository they were working on (lets call that 'private_repo'). I wrote > >> some code, and pushed it to the repository. Now that I guess they feel > >> comfortable with me, they reveal to me the private_repo. > >> > >> How do I get my code from public_repo to private_repo? > > > > You could just repeat the push you made to public_repo to > > private_repo. > > As I understand the situation, no, because the public repo was not a > clone of the private one, but a fresh import (without history?). > So, the ancestor of the commits of the OP do not exist in the private > repository. > > But don't panic, "git rebase" will be able to replay your history on > another branch. The commands to type will be along the lines of: > > cd public-repo > git remote add private url-of-private-repo > git fetch private > # not sure about the exact syntax here: > git rebase --onto private/master your-first-commit^ master > > and then perhaps > > git push private master > Thanks to both of you for your help. I tried Peff's suggestion last night, and could not get it to work. Matthieu is correct that the public repo was not a clone but a fresh import. Furthermore, I discovered that work had been done between the last pull from private the the import into public. (Ugh!) Anyway, before I saw Matthieu's post (away from internet, which is so rare these days), I managed to succeed by using git format-patch on the commits that I needed, and then used git am on the private repo. There was one conflict, but I was able to resolve it. Hopefully I'm not faced with this problem again, but if so, I'll try Mattieu's suggestion. Thanks, Ryan -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html