I use git for assembly hacking. Example: https://github.com/drenn1/kaizo-of-ages
For this project, I had two git repositories: one for the rom, and one for the assembly patches. I know, that using git on roms isn't ideal - I was concerned about the size ballooning, and merging just doesn't work - but it was still better than doing manual backups, imo.
It worked well for the asm patches, though. The workflow was like this: I edit the ROM with the level editor. My makefile creates an untracked copy of that ROM, and applies the assembly patches on top of that copy.
I just don't feel comfortable working without some kind of backup system, and git is the natural choice for me. Though, this only makes sense if you already use assemblers with romhacking (I find them to be indispensible tools).
(After this I started disassembling Oracle of Ages, which heavily involves git and will facilitate collaboration when complete, but that's another story.)
There are other options for collaboration, though. For my Wario Land 3 editor, I made a feature to import and export levels into files independant from the rom. In theory this would allow people to collaborate more easily, though they would need to keep track of which level uses which resources, to avoid situations like multiple people editing the same tileset.