Like wjandrea's solution, this solution also flattens the tree to draw the output.
First install bat, the "cat clone with wings".1
sudo apt install bat
Now the solution is a one-liner using the the find command. find is preinstalled as part of GNU findutils.
find -type f -exec batcat {} +
The find -type f part lists all the files (and not the intermediate directories) in the current working directory. The -exec batcat {} + part passes the list of files to bat so that all may be printed with headers.
It acts as though the command were batcat .git/branches .git/config .git/description .git/HEAD .git/hooks/applypatch-msg.sample ....
The output looks like this:
───────┬────────────────────────────────────────────────────────────────────────
│ File: .git/config
───────┼────────────────────────────────────────────────────────────────────────
1 │ [core]
2 │ repositoryformatversion = 0
3 │ filemode = true
4 │ bare = false
5 │ logallrefupdates = true
6 │ [remote "origin"]
7 │ url = https://github.com/blah/blah.git
8 │ fetch = +refs/heads/*:refs/remotes/origin/*
9 │ [branch "master"]
10 │ remote = origin
11 │ merge = refs/heads/master
───────┴────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────
│ File: .git/info/exclude
───────┼────────────────────────────────────────────────────────────────────────
1 │ # git ls-files --others --exclude-from=.git/info/exclude
2 │ # Lines that start with '#' are comments.
3 │ # For a project mostly in C, the following would be a good set of
4 │ # exclude patterns (uncomment them if you want to use them):
5 │ # *.[oa]
6 │ # *~
───────┴────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────
│ File: .git/packed-refs
───────┼────────────────────────────────────────────────────────────────────────
1 │ # pack-refs with: peeled fully-peeled sorted
───────┴────────────────────────────────────────────────────────────────────────
In the teminal bat also colorizes the output and highlights syntax.

bat shows a binary file like this to avoid printing junk to the screen.
───────┬────────────────────────────────────────────────────────────────────────
│ File: .git/objects/06/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <BINARY>
───────┴────────────────────────────────────────────────────────────────────────
The binary detection isn't perfect so sometimes screen junk still appears.
───────┬────────────────────────────────────────────────────────────────────────
│ File: .git/objects/84/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
───────┼────────────────────────────────────────────────────────────────────────
1 │ x^A+)Q130040a50UMJ(I-.�-(�,K,I�-I�-�^A2�*^Sss^X��:r^V�o��yAP&�}ّ��͇^A�/
───────┴────────────────────────────────────────────────────────────────────────
You can make bat's output more or less fancy by adding options --style and --color. For details check the man page or the README on GitHub.
1: On Ubuntu 20 the package is called bat but the command is called batcat to resolve a conflict with another command called bat.