</> Praktum

Главная / Git / GitHub

Урок 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 main

origin — обычное имя удалённого репозитория. После первого 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 объясняет, как открыть проект.

Практикум по теме