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 -- 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