I usually have Google drive folder which is shared to every designer, manager and shareholder - "Project name - design" with folders such as 1_core, 2_module1, 3_module2, etc. Each document, always should have a number. Core folder is for GUI kits, instructions (IMPORTANT), fonts, images, svgs and common parts used everywhere.
If there are no instructions provided then developer will never understand a designer. GUI kits MUST BE finished first ASAP. Store all the color palette (color codes, which is primary, secondary, etc), all the font sizes, etc. ALWAYS upload PNGs and not only PSDS, managers and shareholders will not look on your PSDs and in most cases developers too. It IS NOT developer's job to know designer's tools such as PhotoShop. Just give him an image and MOST IMPORTANT - GUI kit, PNGs of each view, instructions, font size, color codes.
Newer versions are uploaded just by adding a _v2 or something at the end of file. One file name example: /2_users/2_1_profile/2_1_1_public_profile_opened_v3.png
Git can't be used for artwork (PSD), you can handle only plain text. There are many online tools for designers such as https://www.pixelapse.com