Урок 3 · Git · 20 минут
GitHub: публикуем репозиторий
Git работает на компьютере, а GitHub хранит копию репозитория в сети и помогает работать вместе. Связь локального проекта с GitHub называют удалённым репозиторием.
Добавляем remote
git remote add origin https://github.com/user/project.git
git branch -M main
git push -u origin mainorigin — обычное имя удалённого репозитория. После первого push Git запомнит связь веток, и дальше чаще всего хватит git push.
Получаем изменения
Если в удалённом репозитории появились чужие коммиты, используй git pull перед началом работы. Так проще избежать конфликтов.
git pull origin main
git pushОшибки
- Публиковать в репозиторий секреты и файлы .env.
- Делать force push в общую ветку без понимания последствий.
- Не читать сообщение Git при конфликте, а повторять команды наугад.
Удалённый репозиторий — вторая копия истории
GitHub хранит коммиты, которые ты отправил. Локальные несохранённые правки и неотправленные коммиты там не появляются. Связь задаёт remote по имени origin. Адрес бери со страницы пустого репозитория, а не собирай по памяти.
Первая отправка связывает ветку с удалённой: git push -u origin main. Флаг -u нужен один раз. Дальше достаточно git push и git pull.
git remote add origin git@github.com:user/card.git
git push -u origin main
git remote -vЧто не должно уехать на хостинг кода
- Пароли FTP, ключи и файл
.env. - Тяжёлые видео и папка зависимостей, если их можно поставить заново.
- Чужие большие картинки без нужды.
- Личные черновики, которые случайно лежали рядом с
index.html.
Как проверить, что опубликовалось оно
Обнови страницу репозитория и открой файл в веб-интерфейсе. Сообщение последнего коммита должно совпасть с git log -1. Если локально всё есть, а на сайте пусто, ты либо не запушил ветку, либо смотришь другой репозиторий. git remote -v показывает адрес, куда на самом деле смотрит проект.
Практика
Создай пустой репозиторий на GitHub, добавь remote к локальному проекту и отправь первый коммит.
Как безопасно отправить проект на GitHub
Локальный репозиторий и GitHub — разные хранилища. Команда remote add origin связывает их адресами, но ничего не отправляет. Первый push с флагом -u запоминает связь веток, после чего достаточно git push. Перед публикацией обязательно проверь .gitignore и историю: удаление секретного файла из последнего состояния не удаляет его из старых коммитов.
Для авторизации используют SSH-ключ или персональный токен, обычный пароль аккаунта не подходит. README должен объяснять назначение проекта, запуск и основные возможности. Если удалённый репозиторий уже содержит коммит, сначала синхронизируй историю, а не применяй force push без понимания последствий.
Разберём рабочий пример
git remote add origin git@github.com:username/project.git
git branch -M main
git push -u origin main
# Проверить связь:
git remote -vНе копируй пример вслепую: измени данные, убери одну строку и посмотри, как меняется результат. Такой эксперимент быстрее показывает роль каждой части кода, чем простое чтение.
Проверка перед использованием
- В истории нет ключей и паролей.
- Remote указывает на правильный репозиторий.
- Основная ветка названа main.
- README объясняет, как открыть проект.
Практикум по теме
- Предложить изменение через pull request — Общая ветка main спокойнее, когда правка сначала открыта отдельным запросом.