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
Другие вопросы по тегам