Commit messages for version control systems often use a particular grammar that's a little different from regular English sentences. As @TimR and @MichaelHarvey said, they use the imperative: similar to entries in a to-do list, they can be written as commands. The imperative form of a verb in English is identical to the bare infinitive, as you noticed. But why is this a command, if these are things someone did in the past?
As pointed to by this answer to an old, but closed, StackOverflow question, there's a style guide for commits for people working on the git project, which includes recommendations for how to write their titles:
The problem statement that describes the status quo is written in the
present tense. Write "The code does X when it is given input Y",
instead of "The code used to do Y when given input X". You do not
have to say "Currently"---the status quo in the problem statement is
about the code without your change, by project convention.
Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy
to do frotz", as if you are giving orders to the codebase to change
its behavior. Try to make sure your explanation can be understood
without external resources. Instead of giving a URL to a mailing list
archive, summarize the relevant points of the discussion.
So the point of view of the titles is "by including this commit, you are instructing your version control software to __________", where _____ is the imperative title. Their "present" is the time immediately before the commit is applied, so the changes are still "to-do".
"Time" is changeable in version control systems. Even if a commit was created yesterday, someone can apply it tomorrow.