Is hashing a list of hashes safe? I have an arbitrary long list of hashes (e.g. git tree hashes), and I'm wondering by how much I am increasing the risk of hash collisions by condensing them into a single hash, like so:

import hashlib
...
rehash(list_of_hashes):
    return hashlib.sha224("".join(sorted(list_of_hashes))).hexdigest()


My feeling is that it doesn't increase the odds by an amount I need to worry about, but wouldn't mind confirmation by experts.
What you are describing is essentially the same things as a hash list. A hash list is a sequence of hashes over which another hash is calculated. Your scheme does the same thing after sorting. The sorting won't matter for the security of the scheme; it won't increase the chance of collisions.

Hash lists are also used for a well known structure called a Merkle tree, which allows for hashing data in parallel. Aggregating hashes using another hash is also performed in a meriad of protocols, including PKIX protocols (digital certificates, Cryptographic Message Syntax etc.). In those protocols the final hash is usually used within digital signature generation.