Version control for notebooks Stephanie Gogarten January 05, 2022 00:29 4 comments How do other Terra users manage version control for notebooks? Comments 4 comments Sort by Date Votes Samantha (she/her) January 05, 2022 16:27 Hi Stephanie Gogarten, Thanks for writing in. Can you provide more details about what you are looking for? Unfortunately, there is currently no "versioning" feature that keeps track of who performs what edits on a notebook in Terra when you're working with other users. If this is something you'd like to see implemented, I would encourage you to post on our Active Feature Requests board. Other users will be able to comment on and upvote the request, which our product team will be able to see and take into consideration when prioritizing requests. If you're looking for a way to manage notebook versions in general, using Github may be a good option. You can store your notebook(s) on Github to keep track of changes and create a workflow to push new versions to Terra. An example of this being used is in the Terra Notebooks Playground workspace. It's associated Github repo is here: https://github.com/DataBiosphere/terra-example-notebooks. Best,Samantha 0 Stephanie Gogarten January 20, 2022 18:13 Thanks, syncing my notebooks to GitHub is exactly the solution I was looking for. One the `publish-to-terra.yml` workflow is established in a GitHub repo, would one edit a notebook in Terra, use the "Download as" option to save it to a clone of the repo on my local machine, and then push? Or is there a better way to get changes I make in the Terra cloud environment saved in GitHub? 0 Stephanie Gogarten January 24, 2022 23:27 A related question: I just saw that Terra is switching where persistent disks are mounted to include the home directory, which preserves, among other things, git credentials. Does this mean we will be able to push notebook changes directly from Terra to GitHub? Or does Terra require that all notebooks are at the top-level directory (and thus not in a git repository) to be visible in the "notebooks" tab of a workspace? 0 Samantha (she/her) January 26, 2022 21:52 Hi Stephanie, To answer your first question, I don't believe there is a better way to transfer files from GCP (Terra) to a Github repo other than the one you mentioned. Also, just to be clear the 'publish-to-terra.yml' workflow I shared pushes notebook changes from Github to Terra, since I assume Github is where you'd want to keep track of your notebook versions. As for your second question, the notebooks that show up under the "NOTEBOOKS" tab are actually stored in your workspace bucket, so they need to be stored in the gs://<workspace-bucket-name>/notebooks/ directory in order to be visible. The .ipynb files you see in your persistent disk are copies that the VM makes when you are working in your cloud environment. Any edits you make get synced to the .ipynb files stored in your workspace bucket. Best, Samantha 0 Please sign in to leave a comment.