I have a team that want to work with and edit the same group of scripts in GEE. What's the best way of working collaboratively on a project? I know you can share links to scripts, but is there a way to just have all people working on a single account in unison?

I came across this: https://developers.google.com/earth-engine/guides/service_account

Is this what I'm looking for?

2 Answers 2


If its's a big project I would suggest looking into creating a Google Cloud project. Here's a link for that: https://cloud.google.com/resource-manager/docs/creating-managing-projects

For that you will most likely need a service account. So initially it will take a bit of time to set it up, but it should be better for the long run.

But if the project is small than I would just suggest sharing the login details to the GEE account (if it's not a personal gmail account) and let the team edit using the same GEE account.

Hope this helps, good luck!


There are a number of aspects important for collaboration.

For Earth Engine, you want to share scripts and assets.

The scripts you write in the code editor are stored in a git repo. The configure button (gear icon) will show you the url of the repo. You can share the script with your team. Then other team members can make updates to the same repo.

Each time you save your script it commits your updates the repo (there is no branching or git push available in the editor). You can see the revision history button next to the script name showing who changed what and when. Be aware that your team won't know the script has been updated until they either click the refresh button Refresh repository cache or try to save their changes, in which case they will get this confusing error:

Repository out of Date

The change could not be applied because the repository has changed since it was last loaded. Would you like to load the latest version of the repository and overwrite the result with your change?

I have done this to myself by opening code editor in two tabs at the same time. When this happens to you and you have made complex changes you want to keep:

  • Select no.
  • Save-As to a new temporary script
  • Refresh the repo
  • Open the original script
  • Click the revision history button next to the script name.
  • See what changes we're made in that script not in your temporary script.
  • Merge the changes of both scripts.
  • Review the changes, save and test

If there are only a few people collaborating on the scripts this is sufficient, but for a large or complex project integrating with other components, consider using the Python SDK or Javascript SDK with scripts stored in your own git repo and access earth-engine with a service account.

To share assets, go to the Assets tab and click Add a Project. Ask your team members to do the same. Save your assets under that project and other team members will be able to load them if they have access to the GCP project.

There are other ways to share assets, such as publishing them, or storing them in GCP.

Communicating with your team about who is changing what is the most important aspect of collaboration in any workspace.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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