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.