I would like to develop and release and SDK in an open fashion, via GitHub.

That said, I would like to have a team of developers work on this, make commits, create issues and comments etc in a private fashion.

It would be nice if I could only push the desired code to the public. The public section would also allow public people to do similar to the private team.

My current thinking is that I should have two repositories, one public and one private. Once happy with the work in private I can merge the branch into the public one. I guess it would be good to maintain a release branch in private repo and only merge that onto the public repo.

Is there a way that I can prevent the commit history going public? I'm sure there is a Git flag for that.

Is this a suitable workflow? Thanks.

1 Answer 1


You could probably use squash for that.

Depending on how many changes happen and how often you want to do it, I think maybe a more reasonable approach would be to completely detach the two repositories and handle merging manually between the two when the time comes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.