У меня была такая же потребность. В моем случае у меня была стандартная веб-папка, которая создается при установке веб-сервера. Для целей этой иллюстрации, скажем, это
/server/webroot
и webroot содержит другие стандартные файлы и папки. В моем репо только есть файлы, специфичные для сайта (html, javascript, CFML и т. Д.)
Все, что мне нужно было сделать, это:
cd /server/webroot
git init
git pull [url to my repo.git]
Вы должны быть осторожны, чтобы выполнить git init в целевой папке, потому что если вы НЕ сделаете это, произойдет одно из двух:
- git pull просто завершится с сообщением об отсутствии git-файла, в моем случае:
fatal: Нет репозитория git (или любого из родительских каталогов): .git
- Если там есть файл .git где-нибудь в родительском пути к вашей папке, то ваше вытащенное хранилище будет создано в ЭТОМ родительском репозитории, который содержит файл .git. Это случилось со мной, и я был удивлен этим; -)
Это НЕ мешало ни одному из "стандартных" файлов, которые есть в моей папке webroot, но мне нужно было добавить их в файл .gitignore, чтобы предотвратить их случайное добавление при последующих фиксациях.
Это кажется простым способом "клонировать" в непустую директорию. Если вы не хотите, чтобы файлы .git и .gitignore создавались при извлечении, просто удалите их после извлечения.