On Tue, May 4, 2010 at 7:43 AM, Ricky Clarkson <ricky.clarkson@xxxxxxxxx> wrote: > I have a git repository we'll call the git svn repo, in which I only > perform git svn fetch and git push bare. > > bare is a bare git repository, which I push to from a local > repository. The mistake I've been making is to push to the branch > 'trunk' in bare, from my local repository. The reason this is a > mistake is because git push bare from the git svn repo also pushes to > there. > > Today I've been forced to learn of my mistake, as I cannot push from > the git svn repo without possibly losing commits. It turns out (which > is probably obvious to you all) that I should have been pushing to, > say, bare's 'master' branch instead of its trunk one. > > I don't intend to push back to svn from any of these repos, but I > would like to be able to continue pulling changes from svn at least > for the time being. What should I do? If you don't intend to push back to svn, then life is relatively simple. First, on your PC where you've been making other commits, rename the trunk branch to master and push that: git branch -m trunk master git push bare master Then delete the 'trunk' branch on bare, and re-push it from the git svn repo: git push bare :trunk git push bare trunk And probably you'll go back to your PC and merge the latest trunk into your master: git pull bare trunk # resolve any conflicts git push bare master Have fun, Avery -- 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