Empirically, I think the answer is no. This worked (that’s a ~100MB commit message):
yes | head -c 100000000 | git commit -F - > /dev/null
Command parts explanation:
yesrepeats"y\n"foreverhead -c 100000000takes only the first 100,000,000 bytes (~100MB)git commit -F -commits with the passed-in commit message (this won’t work if you haven’t staged any changes to commit)> /dev/nullhides the output from the command, which includes Git repeating back the very long commit message