Update The OP updated their question to add an 'Ubuntu' requirement while I was writing this.
Adobe Lightroom is a well known commercial photo editing and management application that may meet your requirements.
- All Lightroom photo edits are non-destructive. The original files are untouched. This prevents the problem using GIT which would make a full copy of every version of a file.
- Metadata regarding edits you've made are stored in a catalog file.
- The lightroom UI shows you a list of the edits made to any particular photo and it is easy to revert to a previous version of a photo.
- Lightrom lets you make Virtual Copies of photos and perform different edits on that version. Again this doesn't edit the original file. This is somewhat similar to branching of an individual file in source control.
- There are lots of plugins available for Lightroom to help backup photos. For example, Flickr offer a large amount of storage space and you can use a plugin to export your photos there.
- Lightroom regularly prompts you to backup your catalog file.
- Lightroom lets you manage the metadata for your photos. For example, you can tag photos to make it easy to find them again in future.
- When importing photos, Lightroom functionality to avoid importing duplicate photos. This is most commonly used when importing from an SD card which contains photos you've imported earlier. This may help you to merge your backup into your main repository.
There is a video discussing backup strategies for Lightroom here.
One disadvantage of Lightroom over Picasa is that Lightroom does not have built-in Face Recognition.
Personally I used Picasa and then moved to Lightroom when Lightroom 4 was released as it was priced very competitively. There is a learning curve for Lightroom but I'd definately recommend considering it. I also use Crashplan for offsite backup of my photos and catalog.