Git just stores the contents of the link in a ‘blob’(binary large object) just like it would for a normal file. Then it stores a symlink (which comprises of name, mode, and type) in the tree object that represents its containing directory.
When you check out a tree containing the link, it restores the object as a symlink regardless of the target file system object exists or not.
If you delete the file that the symlink references it doesn't affect the Git-controlled symlink in any way. So that’s up to you to change or remove symlinks.
Even if you removed symlink there is a dangling reference. So you can go ahead if you need to remove symlink