The issue is caused by the git documentation not being indexed (which needs to be done manually — adding good index terms is not entirely trivial).
In principle, asciidoc, which is what git uses, supports having an index. So does DocBook — the intermediate format (the full pipeline for the main manual, is user-manual.txt (asciidoc) → user-manual.xml (DocBook) → user-manual.texi (Texinfo) → git.info, and similarly for gitman.info).
In case you want to be convinced that an index could be added (though in itself, this is obviously completely useless), add (as a "dummy" indexed term):
indexterm:[knight, Knight of the Round Table, Lancelot] somewhere in the middle of user-manual.txt (the exact location is unimportant; the text is taken from the asciidoctor documentation (asciidoctor is mostly compatible with asciidoc)). Also add:
[index] = Index at the very end of user-manual.txt (this is needed for an index to be actually created). Now re-generate git.info and open in Emacs (you can open it in Emacs as an Info manual, without "installing" it, by using C-u C-h i path/to/the/manual/git.info).
is it because the official documentation doesn't include indexing facilities or because I didn't do something right
Technically, from a tooling point of view, the source documentation does support indexing, but the git project simply doesn't use it, possibly because they've decided it's not worth the effort. (You didn't do anything wrong.)
Answer to comment (for better readability)
What do you mean when you say "though in itself, this is obviously completely useless"?
I just wanted to emphasise the fact that the example was purely for illustrative purposes, and wasn't a solution to your problem (sorry for belabouring the obvious!).
Are your referring to indexing being useless? If so then why?
No, I agree with you that indices are useful.
Are there better ways to list the search results of keywords other than indexing in Emacs?
Not that I'm aware of.
As a very partial workaround, in case you weren't aware, you could use g to easily navigate to a node, but that's extremely coarse-grained. Unfortunately, occur (M-s o) doesn't work well with info, as it searches only in the current node, not the entire manual.
Do I need to add the indexing tags (in asciidoc format) one by one manually in the source documentation to generate the indices? Or are they already present?
Yes, you would need to add the indexing tags manually, one-by-one, to the source documentation in asciidoc format, so it's not really a feasible solution. (I'm not aware of any way of automating the generation of the indexing tags themselves.)