Closed orta closed 9 years ago
I would "git init" a new repo for the public stuff, and developers may add the private stuff as a separate remote if/when you need to merge things in or whatever (add it as "private" or "danger" or something ;)
Doing some basic sanitizing on the private one seems like a good idea as well ("git filter-branch" being your best friend here -- and the tree-filter is a fast way to delete things).
If you remember to always "git merge --squash" when bringing things from private -> public you will reduce your chances of accidentally bringing in a bunch of commits from private that you didn't mean to. "--squash" always makes a new commit.
Thanks, another idea I had around this was that the main repo could be public, but that our personal forks e.g. orta/eigen
or 1aurabrown/eigen
are private. Thus a private few PRs could go internal within a fork, and then get released to artsy/eigen
& the world when whatever constraints have kept it private are finished.
For objc.io, we have an articles
repo and an articles-private
. This works really well. But neither one contains "private" information, just things that are not open to the public yet.
https://iphone.artsy.net
eigen-private
that we can use when something shouldn't be discussed publicly for whatever reason.