In the interpretation of the law, yes, but that doesn't matter for version controlling the text of the law, and in that sense, you can absolutely manage the text pretty cleanly in git. Most laws are just text. Many bills are literal git-diffs, except in prose, which can make it hard to understand a bill.
> exception handling (hardcode-style responses)
This is basically non-sequitur (there no such thing as a "hardcode-style response" in git…), and again, I think you're misunderstanding the idea here.
The complexity is in common law, not natural-language laws.
The U.S. Code and Code of Federal Regulations can be completely presented through a Git-like system. The complexity comes in when attaching court cases.
If you've got a statute like "no vehicles in the park," the fundamental issue is that you have to interpret "what is meant by 'vehicle'?" and no legal drafting is going to be good enough to actually cover all the possible cases well enough. The main difference between a common law and a civil law system here is that in a common law system, you have to cite the previous similar cases (because precedent is binding) whereas in a civil law system, you're merely using those previous similar cases as persuasive evidence. At the end of the day, it boils down to arguing for your interpretation.
And in my experience working on language standardization (which is closer to a civil law system than a common law system), it's fairly often that I have to resort to looking up not just when a change in the text occurred, but dive deep into the discussions of the paper proposing the change to understand what the committee thought it was doing with the change. The complexity of law is fairly similar--the changes to the law themselves often require understanding the legislative and interpretative history of the law to understand what the intent of the drafter was to be able to rule on how the law is extended to an unanticipated scenario.
If you want to know the literal text (that may or may not be enforceable), then sure a plain text diff is sufficient to know that nothing at all has changed about federal communication laws since this section was last amended in 2002. But if you want to know what the actual law is, you definitely need more than just a text diff.
That seems like a great way to turn functional legislation into swiss cheese as one line at a time things are either kept or removed based on chance/circumstance and the whims of the current people in power.
Laws are collectively voted for as a complete package, and a law that worked and was passed as being acceptable can become useless, dangerous, and undesirable with a very small number of lines removed from them. I want lawmakers to spend their time focused on the entirety of a bill. Your idea would result in them fighting over who should or shouldn't be recorded as the official author of each and every line. We don't need nonsense like "Senator X will retire soon so Senator Y should author it!", or "I'll agree to author line 405 if you agree to author line 30!"
Your idea, like so many ideas where laws just fade away unless something happens to keep them, also sounds like a great way for you to lose longstanding freedoms and protections that should never be at risk of simply deprecating just because some one gets voted out or dies or retires.
The intent of a law should be clear from the text. It isn't always, but at least now it's possible. To have the intent of a law, or even worse the intent of specific lines within a law, subject to change at any time would make interrupting that law and establishing precedent a nightmare for the courts.
We really should have a system in place to help clear out old and unnecessary laws on the books, but this would be a terrible way to accomplish that.