This blog post gives a great summary of modern proposals for generic transformations from existing non-committing AEAD schemes to committing AEAD. The two excellent papers referenced are "Efficient Schemes for Committing Authenticated Encryption" by Mihir Bellare & Viet Tung Hoang; and, "On Committing Authenticated-Encryption" by John Chan & Phillip Rogaway.
Key commitment in GCM (or AEAD in general)[ ?]
The generic transformations defined by the above papers provide varying levels commitment (from just key commitment to the full commitment of all inputs) with no additional ciphertext expansion. From my reading, it can be said that the transformations consider two principle approaches. The first is fixing the production of the final tag to be the output of a difficult to forge function, like a collision-resistant PRF, instead of a polynomial. And, the second is creating an input-specific key which is the output of a hash.
The later paper uses a simplified approach which is a combination. The ciphertext $C$ & tag $\tau$ are processed normally, but then the final tag $\tau^* \leftarrow H(K, N, A, \tau)$ replaces $\tau$. But, this only effects the authentication tag, meaning it doesn't assist in any way in blending $n_{once}$ misuse-resistance & committing AEAD (e.g. further affecting the ciphertext randomization).
The former paper separates the approaches. First turning a non-committing AEAD scheme $\textsf{SE}$ into a key-committing $\textsf{CMT-1}$ scheme $\textsf{SE-1}$ by using a collision-resistant hash for the final tag production. Then, treating the $\textsf{SE-1}$ scheme to another generic transformation to a fully committing $\textsf{CMT-4}$ AEAD scheme $\textsf{SE-4}$ by replacing the encryption key $K$ with a keyed-hash output $L \leftarrow H(K, (N, A))$ & the associated data $A$ with an empty string $\epsilon$. This results in $\textsf{SE-1}(K, N, A, M)$ being transformed into $\textsf{SE-4}(L, N, \epsilon, M)$.
But isn't that one application of "associated data?" For instance, can't one include a hash of the key (or something similar) in the associated data?
The existing answer by poncho explains why just altering the associated data to include the hash of the inputs doesn't help in the case of AES-GCM.
However, this approach is essentially what is done in $\textsf{SE-4}$ schemes, except that the key becomes the hash of the inputs, instead of the hash of the inputs being used as the associated data.