Представьте: вам нужно отнести папку с документами в соседний кабинет. У вас есть два варианта:
- Взять папку и отнести
- Создать репозиторий, сделать коммит, запушить в origin/main, пройти ревью, инициировать пайплайн деплоя и ждать, пока CI/CD прогонит тесты
Угадайте, какой вариант предлагают современные разработчики даже для сайта-визитки про плетение корзин? Правильно, второй! Давайте разберёмся, когда это разумно, а когда — ритуал ради ритуала.
📁 FTP/SFTP: Старый добрый "отнести папку"
Как это работает:- Открываете FileZilla
- Подключаетесь к хостингу
- Перетаскиваете файлы
- ВСЁ
Аналогия: Это как положить документы в сейф. Открыли дверцу, положили, закрыли. Все видят итоговое состояние сейфа.
Что вам нужно:- Данные FTP (хост, логин, пароль)
- Любой FTP-клиент (или даже проводник Windows)
- Всё
🧙♂️ Git: Магический ритуал "загрузить файл"
Как это работает:- git init (инициализируем магию)
- git add . (готовим заклинание)
- git commit -m "fix typo" (фиксируем в истории)
- git push origin main (отправляем в облако)
- Хостинг ловит webhook, запускает сборку
- CI/CD пайплайн гоняет тесты (для сайта про корзины!)
- Если всё ок — файлы появляются на хостинге
Аналогия: Это как сдать документы в архив. Сначала опись, потом проверка, потом каталогизация, потом размещение на полке. А чтобы исправить опечатку — нужно выписать новую версию документа.
⚔️ Сравнение в бою: "Просто поменяйте номер телефона в футере"
Через FTP:
- Открыл footer.php
- Поменял цифру
- Загрузил файл на хостинг
- Готово (2 минуты)
Через Git:
- git pull (стянул свежую версию)
- Открыл src/components/Footer/Footer.tsx
- Поменял цифру
- git add .
- git commit -m "Update phone number"
- git push
- Ждём, пока GitHub Actions прогоняет 15 минут тестов
- Хостинг автоматически деплоит
- Готово (25 минут, если повезёт)
🏗️ Обвес на хостинге: За что вы платите
Хостинг с FTP:
- Диск (место под файлы)
- Процессор (чтобы файлы отдавать)
- Почти всё
Хостинг с Git-автодеплоем:
- Git-репозиторий (GitHub/GitLab/Bitbucket) — бесплатно, но публично. Приватный — $4-20/мес
- CI/CD пайплайн (GitHub Actions, GitLab CI) — минуты считаются, лимиты есть
- Webhook обработка на хостинге
- Сборка проекта (если это не чистый HTML) — npm run build съедает память и CPU
- Резервное копирование репозитория (а вдруг GitHub упадёт?)
- Мониторинг деплоев (упал ли билд?)
Реальная стоимость:- Простой хостинг с FTP: 300 руб/мес
- Хостинг с поддержкой Git-деплоя: от 1500 руб/мес
- Время разработчика на настройку: 10 000-30 000 руб
📊 Адекватный анализ: Кому что нужно
🟢 Выбирайте FTP/SFTP, если:
Ваш проект — это:- Сайт-визитка (HTML/CSS/JS)
- Небольшой сайт на PHP (WordPress/DLE/OpenCart)
- Лендинг
- Файлы, которые нужно просто залить на сервер
Вы — это:- Владелец малого бизнеса
- Фрилансер, делающий простые сайты
- Студент
- Человек, который хочет просто загрузить файлы
Экономика:- Нулевые накладные расходы на обучение
- Никакой инфраструктуры кроме хостинга
- Любой сотрудник может загрузить файл после 5-минутного инструктажа
🔵 Выбирайте Git, если:
Ваш проект — это:- Веб-приложение (React/Vue/Angular)
- Сложный SaaS-продукт
- Проект с командой от 2+ разработчиков
- Система, где важно отслеживать КАЖДОЕ изменение
- Продукт с частыми обновлениями и откатами
Вы — это:- Tech-стартап с инвестициями
- IT-компания с отделом разработки
- Разработчик, работающий в команде
- Человек, которому нужна история изменений и ветвление
Экономика оправдана, когда:- Стоимость ошибки на продакшене > 100 000 руб
- Над проектом работают несколько человек одновременно
- Нужно тестировать изменения перед выкладкой
- Проект живёт годами и накапливает историю
💀 Реальные риски и подводные камни
Риски FTP (их любят преувеличивать):
«А вдруг перетру файл?»- Решение: Бэкапы хостинга (есть у всех)
- Решение: FileZilla сохраняет историю загрузок
«А если несколько человек правят?»- Реальность: На сайте малого бизнеса обычно правят 1-2 человека
- Решение: «Петя, не трогай, я сейчас обновляю!» — работает 20 лет
Риски Git (о которых молчат):
«Упал CI/CD пайплайн»Реальный кейс: Сайт цветочного магазина не обновлялся 3 дня, потому что в package.json сломалась версия зависимости. Продажи упали на 40%.
«Зависимость от инфраструктуры»GitHub упал → деплои встали. Интернет пропал → не запушить. Docker сломался → не собрать.
«Переусложнение простых задач»Чтобы поменять картинку на главной, нужно:
- Найти дизайнера
- Получить макет
- Оптимизировать изображение
- Создать feature-ветку
- Сделать PR
- Пройти ревью
- Замержить
- Ждать деплоя
И всё это для того, чтобы заменить hero.jpg на hero-new.jpg.🎭 Театр абсурда: Git для нетипичных случаев
Кейс 1: Сайт бабушки-рукодельницы
- Что нужно: Выложить 10 фото вязаных носков
- Что предлагают: Git-репозиторий, GitHub Pages, GitHub Actions для оптимизации изображений
- Реальность: Бабушка плачет, внук-студент тратит выходные на настройку
- Итог: Носки так и не выложены, бабушка продала их соседке
Кейс 2: Визитка сантехника
- Что нужно: Контакты, фото работ, прайс
- Что предлагают: React, TypeScript, Vite, Tailwind, Git flow
- Реальность: Сантехник Женя не может поменять номер телефона, когда меняет оператора
- Итог: Клиенты звонят на старый номер, Женя теряет заказы
Кейс 3: Каталог продукции завода
- Что нужно: 5000 товаров, которые обновляются раз в квартал из 1С
- Что делают: Git для хранения JSON-файлов с товарами
- Реальность: Каждый выгрузка — конфликт мержа на 5000 строк
- Итог: Завод нанимает отдельного «Git-инженера» за 120 000 руб/мес
⚖️ Честный чеклист: Что выбрать
Отвечайте ДА на FTP, если:
- Сайт меняется реже 1 раза в неделю
- Над сайтом работает 1-2 человека
- Изменения простые (текст, картинки, стили)
- Нет командной разработки
- Хотите минимальную инфраструктуру
- Бюджет ограничен
- Нет DevOps-специалиста
Отвечайте ДА на Git, если:
- Над проектом работает 3+ разработчика
- Есть автоматические тесты
- Нужны code review перед выкладкой
- Часто откатываете изменения
- Веб-приложение, а не сайт
- Есть бюджет на инфраструктуру
- Есть команда поддержки
💡 Практический совет: Гибридный подход
Для малого бизнеса идеально:
Контент → через админку CMSПример: Новости, статьи, товары — всё через веб-интерфейс
Шаблоны/стили → через FTPПример: Поменяли дизайн — дизайнер отдал файлы, верстальщик залил по FTP
Сложная логика → через Git (если есть)Пример: Кастомный модуль оплаты — тут да, нужен Git
Техническая реализация:
Хостинг за 300 руб/мес
├── CMS (WordPress/DLE) ← контент-менеджеры правят тут
├── /templates/ ← дизайнер заливает по FTP
└── /modules/ ← разработчики (если они есть) используют Git
🎯 Вывод: Не усложняйте без необходимости
Git — это прекрасный инструмент для:- Командной разработки
- Сложных проектов с историей
- Процессов, где важны review и тестирование
Но для 80% сайтов в интернете:- Сайт-визитка ИП
- Лендинг продукта
- Каталог товаров
- Блог или новостной портал
...FTP более чем достаточно.Помните: каждый слой абстракции — это:
- Новые точки отказа
- Дополнительные расходы
- Время на обучение
- Зависимость от специалистов
Задайте себе вопрос:«Если мой сайт перестанет работать на 3 часа, сколько я потеряю?»
- Если ответ «100 000+ рублей» — возможно, Git и CI/CD оправданы.
- Если ответ «ну, несколько клиентов отложат заказ» — FTP ваш выбор.
Не позволяйте навязать себе космические технологии для поездки в соседний магазин. Иногда проще и эффективнее просто дойти пешком.
💬 Комментарии
В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.
🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.
💡 Хотите обсудить материал?
Присоединяйтесь к нашему Telegram-каналу:
https://t.me/tcsecms/Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями