git-ftp просто содержимое каталога
Я пытаюсь git-ftp только содержимое определенного каталога. Для ясности я опишу мою точную проблему в случае, если есть другое решение:
У меня есть статический сайт, сгенерированный Jekyll, и я пытаюсь использовать git-ftp для загрузки его на поддомен моего блога. Я использую --syncroot
флаг только git-ftp мой _site
каталог, но это загрузка самого каталога (ожидаемое поведение на самом деле). Но теперь, когда я захожу на URL своего блога, я не оказываюсь на странице индекса, я получаю список файлов и каталогов, один из которых _site
затем, когда я нажимаю на эту ссылку, я попадаю на мою страницу.
Так что, если бы я мог загрузить только содержимое _site
к корню моего сайта, это было бы замечательно, или если у вас есть какие-либо идеи о том, как это исправить, они будут очень рады.
2 ответа
Поэтому я не смог найти способ загрузить только содержимое _site
каталог, как он есть, но я действительно нашел решение, которое отвечало бы моим потребностям, и это могло бы помочь кому-то еще, если они столкнутся с этим вопросом.
То, что я сделал, было проигнорировано _site
каталог из моего проекта, затем я перешел в _site
каталог и инициализировать новый репозиторий Git. Так что теперь я отслеживал каталог, который я хотел напрямую, я тогда мог использовать git-ftp, чтобы просто ftp содержимое папки, так как он только загружает содержимое каталога, в котором он инициализирован. Это было идеально для моих нужд, так как не было никакой реальной необходимости отслеживать _site
каталог в моем проекте в любом случае, видя, как это была сгенерированная папка.
С нетерпением жду, когда кто-то опубликует лучший ответ, чем этот.
Как насчет копирования содержимого _site
в папку вне вашего git-репо, например publish
папку, а затем отправив ее содержимое с помощью git ftp, используя скрипт bash?
date=`date +%Y-%m-%d-%H-%M-%S` #timestamp the commit below
bundle exec jekyll build #update your _site directory
cp -r _site/* ../publish/. #copy files from the _site to the publish folder
cd ~/path/to/publish #cd into the publish folder
git add .
git commit -m "Deploy timestamp: $date" #add everything new and commit with a timestamp to the publish git repo
git ftp catchup
git ftp push