I remember that when I was first learning Git, I often felt boggled in this way. Why can't it just…? And there are several sorts of answers, of which one or more might apply in a particular situation:
1. It surely could, but nobody has done it yet
2. It perhaps could, but nobody is quite sure how
3. It maybe could, but what you want is not as clear as you think
4. It can't, because that is impossible
5. I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question
Often, engineers will go straight to #5, when actually the answer is in a higher tier. Or they go to #4 without asking if maybe, once the desiderata are clarified a bit, it will move from “impossible” to merely “difficult”. These are bad habits.