This question already has an answer here:
In sftp> put * or get * doesnt get the hidden files or directories inside the dir. What to do if I want to use sftp to copy entire dir,along with subdirs that are hidden also? For example a .git directory inside the directory. Please do not tell me scp commands. How to do that in sftp shell?