Git newbie would appreciate help (esp pointers to doc) for a usecase
which I haven't seen written up anywhere: pairing public/private
repositories, or branches, or whatever. What I mean:

I'm working on an OSS project for a client who requires publicly-
visible code to be approved, i.e.,

* reviewed/approved code can be made publicly available (and with a
  permissive license), via, e.g., the usual github-style public repo

* pre-review code must not be publicly available: a private repo is OK
  if password-protected.

However I still want to version my code to the cloud, and I still
don't wanna spend any money (I'm a student, working cheap). So I was
thinking I could pair an OSS bitbucket private git repo (which is
free) with an OSS github public repo (also free), such that

* bitbucket:master always contains latest development code
* github:master    always contains latest approved code

My process would be like:

1 Push normal dev commits from my local repo to bitbucket:master.

2 When I get to a review point, branch from bitbucket:master to
  bitbucket:review_<datetime1/> (where datetime1=when I submit code
  for review), and let the reviewer pull that branch.

On approval:

3 Branch the code in github:master (i.e., the previous approval's code)
  to, e.g., github:approved_<datetime0/> (when that code was approved)

4 "Copy" the code from bitbucket:review_<datetime1/> to github:master

What I'd like to know is, how to do step 4 such that I don't either

* lose history
* need to do a lot of merging

? Or am I thinking wrong, and should do Something Completely Different?

TIA, Tom Roche <>

You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to
To unsubscribe from this group, send email to
For more options, visit this group at

Reply via email to