Collaborating with Other Developers on Your App
Last updated 17 March 2016
Table of Contents
This article shows app owners how to share their app with collaborators.
If you are a collaborator, see Getting Started as a Collaborator.
Collaborator permissions
Collaborators can perform any action that an owner can, except collaborators can not:
- Add or remove paid add-ons
- Delete, transfer or rename the app
- View invoices
These are the only actions that are restricted. Collaborators can perform any other action that an owner can, including scaling applications.
Add collaborators
Other developers can be invited to collaborate on your app by their email address.
$ heroku access:add joe@example.com
Adding joe@example.com to myapp collaborators... done
To use the dashboard to add a collaborator:
- Select the app in the dashboard.
- Click the Access tab.
- Click the Add collaborator button.
- In the New collaborator window, type their email address.
- Click Save changes.
When you invite a collaborator, an email is sent to let them know they were granted access to the app. If no existing Heroku account matches the email specified, an invitation email is sent.
View collaborators
Use the heroku access
command to see the list of current collaborators:
$ heroku access
=== theirapp Collaborators
adam@example.com owner
joe@example.com collaborator
Remove collaborators
You can revoke a collaborator’s access using the heroku access:remove
command:
$ heroku access:remove joe@example.com
Removing joe@example.com from theirapp collaborators... done
To use the dashboard to remove a collaborator:
- Select the app in the dashboard.
- Click the Access tab.
- Click the “x” beside the collaborator’s email address.
- Click Delete Collaborator.
Once access has been revoked, the user is no longer able to deploy changes or modify the app’s configuration.
Merging code changes
When you’re collaborating with other developers, you might be prevented from pushing to the repo and see a message like this:
$ git push heroku
error: remote 'refs/heads/master' is not a strict subset of local ref 'refs/heads/master'.
maybe you are not up-to-date and need to pull first?
This means that other developers have pushed up changes that you need to pull down and merge with your local repository. The easiest way to do this is to run git pull --rebase
. Ensure your changes don’t conflict with what you pulled down before deploying.