Thanks for your quick answer! It seems to be a solution a bit alike one I tested before sending my initial question, using : git symbolic-ref HEAD refs/heads/cleanmaster But I am unsure of the result I am getting. Are you suggesting that I should entirely replace my current 'public' branch (there is no important history in there to keep apart from what is already in the other, private, branch) by cleanmaster or that I should keep using three branches and push from that third one (cleanmaster) to the published repo ? One thing I do not understand clearly is why with a detached (I guess this is synonym to orphan ? At least when creating it ?) branch cannot be then merged with the branch that was initially copied to create it and just get the additional commits. Instead, it gets the whole history. Being used to using merge between my public/private branches, I am afraid that using that orphan branch might lead to disaster eventually. On Thu, May 5, 2011 at 5:35 PM, Seth Robertson <in-gitvger@xxxxxxxx> wrote: > > In message <BANLkTi=TLeePH0JDvnE0XPiCzXFxid9BWQ@xxxxxxxxxxxxxx>, Jerome Martin > writes: > > Is there any recommended workflow to achieve the result I am looking > for ? How are other people doing it ? > > Create an orphan branch. Commit what you want onto it. Push branch > to a new repo as master. > > git checkout <basesha> > git checkout --orphan cleanmaster > git add -A > git commit -m "base of public release" > (mkdir ../newrepo; cd ../newrepo; git init --bare) > git remote add cleanremote ../newrepo > git push cleanremote cleanmaster:master > > You can then cherry pick/rebase from previous branches onto > cleanmaster any subsequent commits that you want to keep history for. > > Another approach might be to finesse a shallow clone to do what you > want. > > -Seth Robertson -- Jérôme Martin -- 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