Research with HEIR

Doing private research using HEIR

Our project will be developed in an open-source GitHub repository. If you’d like to work on a non-public branch while still accessing the latest developments, we recommend the following setup. This process will result in two remote repositories: one public for submitting pull requests (PRs) to the original repo and one private.

  1. Fork the Repository: Fork the google/heir repo to a public fork on your GitHub repository. This should create a project at https://github.com/<username>/heir

  2. Create a Private Repository: Create a new private repo using the GitHub UI, e.g. named heir-private

  3. Link Your Fork to the Private Repository Couple your fork to the new private repo

git clone --bare git@github.com:<username>/heir.git heir-public
cd heir-public
git push --mirror git@github.com:<username>/heir-private.git
cd ..
rm -rf heir-public
  1. Clone the Private Repository Now, you can clone the private repo to work locally
git clone git@github.com:<username>/heir-private.git
cd heir-private
  1. Add the Private Repository as a Remote to Your Public Repository Additionally, you can add the private repo as a remote target to your public repo. This way, the private branch will be locally available, while you can push commits to the private repo.
cd heir
git remote add private git@github.com:<username>/heir-private.git
git fetch --all
git checkout private/new_branch

Note that using git push private new_branch2 will push the commit/branch to the private repo.

Once you’re ready to publish your development work, you can push your commits to a branch in the public repository and create a pull request.

Last modified February 11, 2025: Adding private repo guide (5a9e343d)