There’s no sense naming files in the manifest file that people can’t access from the git checkout. In a complicated project there may be (intentionally) untracked files and perhaps multiple manifest files. There are many ways to check the manifest, but one way is to ask ‘git status’.
while read f; do [ -f $f ] \ && git status --porcelain -uall $f \ || echo "## $f" done <MANIFEST
Non-existent files will be preceded by ‘##’ and non-tracked files will be preceded by ‘??’.