Assigning proper blame with git and SSH workspaces



My current setup for servers is as follows:

  • I have a remote VPS with code on it for multiple clients
  • Client code is owned by the client’s user. e.g.: If I had a client called Examples, LLC they would probably have a user named examplesllc, all of their code would be found in /mnt/dev-code/examplesllc/, and this directory would be owned by examplesllc:examplesllc
  • Developers also have users. For instance, mine is stevenbarnett. In order to work on a client’s code, the developer is granted access to the client’s group. All client code is chmod 770 so someone in the group has full access
  • Since Cloud9 uses SSH keys to log in as a specific user, Cloud9 workspaces log in as the client. So the Examples, LLC workspace logs in to examplesllc. This workspace can be shared with any interested developers (assuming they are allowed to work on that client)

This works almost perfectly, but when we try to use git to track changes to client code - using Cloud9 it looks like all changes were made by examplesllc and we don’t know which developer actually made the change.

Is there any way to run git commands via the UI instead of via the shared console so that commits are actually attributed correctly?


currently there is no ui, but you can pass --author option to git commit to set the correct author

git commit --author="my name <>" -m "commit message"  

you can use bash or git aliases to not type the same long string each times