LINUX.ORG.RU
ФорумAdmin

Как из git получить файлы

 ,


0

1

Сделал push из webstorm на удаленный git сервер мой по ssh (заранее прописав в нем receive.denyCurrentBranch ignore), пуш прошел нормально, НО нет файлов самих. Есть просто папка .git. Как из нее вытащить собственно файлы?

До этого делал bare, туда пушил, потом pull из него в другой репо... Это 2 папки создавать, туда-сюда гонять из пустого в порожнее. Мне нужно просто deploy сделать, по сути тупо файлы копировать, но FTP долго, а git быстро делает это. Но вот только в этом затык сейчас

★★★★

Последнее исправление: gobot (всего исправлений: 1)
Ответ на: комментарий от annulen

1. В webstorm только ftp для деплоя
2. rsync будет все подряд слать, а в git это можно настроить

короче git норм инструмент и для деплоя (hooks чуть подшаманить), а главное быстрый! Вот только bare эти, дубляж какой-то... мне нужно 1 папку создать и в нее заливать и чтобы все файлы были в ней сразу

gobot ★★★★
() автор топика
Ответ на: комментарий от annulen

Да охота выкинуть этот bare! Это же для каждого проекта нужно создавать отдельную папку и ещё папку, потом pull ну или clone. Хм... Или создать подпапку src/.git..? И из нее вытягивать? Хотя нет, git требует пустую папку!..

gobot ★★★★
() автор топика
Последнее исправление: gobot (всего исправлений: 1)
Ответ на: комментарий от gobot

Если уж так хочется через git, то заливай обновления в репу, потом в самом проекте делай pull из этой репы. Это не очень хорошо, но тоже пойдет.

gruy ★★★★★
()
Ответ на: комментарий от gobot

короче git норм инструмент и для деплоя (hooks чуть подшаманить)

У нас в айтишке забивать гвозди микроскопом обычное дело. Это не значит, что это лучший способ, но микроскоп на целевой системе уже есть, он достаточно тяжелый и у него есть плоская поверхность для забивания гвоздя.

а главное быстрый!

Есть rsync, syncthing, unison, …

rsync будет все подряд слать, а в git это можно настроить

Это git будет всё подряд слать, что в репе лежит, а с rsync ты явно выбираешь, что именно хочешь деплоить. Не говоря уже о том, что деплоить нужно артефакты, а в гите должны лежать сорсы, и это не всегда одно и то же.

В webstorm только ftp для деплоя

Привязывать процессы к кнопкам в иде это совсем нубство. Сделай скрип. Если хочешь, чтобы он вызывался именно из идешки, а не из крона, гитового хука или руками в консоли, это тоже наверняка легко делается. Хотя по правильному надо запушить в гит, прогнать CI, и по прохождению тестов деплоить на последнем шаге.

мне нужно 1 папку создать и в нее заливать и чтобы все файлы были в ней сразу

Это не про vcs, а про синхронизацию файлов между системами

Да охота выкинуть этот bare!

Тогда нужно менять подход: не пушить в репу на целевой машине, а делать пулл по крону из внешней репы, например.

annulen ★★★★★
()
Ответ на: комментарий от einhander

Я так понял, что ты пушишь в bare репозиторий, а хочешь пушить в обычный. Ну так пуш в него, но это не рекомендуется.

Рабочая копия при таком пуше не синхронизируется

annulen ★★★★★
()
Ответ на: комментарий от einhander

Ну да, но там какие то ограничения, только после receive.denyCurrentBranch ignore пушит, по но сути это те же самые яйца... Короче создал в одной папке 2 репы, добавил remote и как раньше pull делаю... Плюс: на 1 папку меньше стало )

gobot ★★★★
() автор топика

Это похоже на решение X/Y проблемы, простите.

Когда Васян сказал «деплой через гит, говорят, дофига круто». Но делается это не так. Во взрослом мире, при пуше запускается какой-то воркер, который гоняет тесты (если требуется) собирает контейнер (если используется) пушит контейнер в реджистри (если используется) перезапускает контейнер.

Или тупо делает rsync/sftp. Но никогда не держит .git в корне сайта. вот прямо совсем-совсем вообще никогда-ни-разу-клянусь-аллахом. Потому что .git в корне сайта - это такая дырень, что даже девушкам с пониженной социальной ответственностью страшно на неё смотреть.

anonymous
()
Ответ на: комментарий от anonymous

Потому что .git в корне сайта - это такая дырень, что даже девушкам с пониженной социальной ответственностью страшно на неё смотреть.

Дырень только если из этого же корня настроена раздача статики. Но кто-то может забыть и добавить этот путь случайно, и тогда будет Ж (или не будет, если код не г-но, но так не бывает)

annulen ★★★★★
()