Удалённые репозитории: push, pull и clone
Подключайте локальный репозиторий к GitHub, отправляйте коммиты в удалённый репозиторий, получайте изменения от коллег и клонируйте существующие репозитории.
«Удалённые репозитории: push, pull и clone» — бесплатный урок Frontend Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Frontend Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Frontend Academy содержит 4 уроков всего.
Что такое удалённый репозиторий?
Удалённый репозиторий — это версия вашего репозитория, размещённая в интернете (GitHub, GitLab, Битбакет). Вы сотрудничаете с коллегами, отправляя свои коммиты в удалённый репозиторий и получая из него их коммиты.
git clone — Копирование удалённого репозитория
git clone url создаёт локальную копию удалённого репозитория, включая всю историю и ветки. Удалённый репозиторий автоматически добавляется под именем origin.
git clone https://github.com/user/repo.git
git clone git@github.com:user/repo.git # SSHgit remote — Управление удалёнными репозиториями
git remote -v показывает список настроенных удалённых репозиториев. git remote add name url добавляет удалённый репозиторий. По соглашению основной удалённый репозиторий называется origin.
git remote -v
# origin git@github.com:user/repo.git (fetch)
# origin git@github.com:user/repo.git (push)
git remote add origin https://github.com/user/repo.gitgit push — Отправка коммитов в удалённый репозиторий
git push origin branchname отправляет локальные коммиты в удалённую ветку. При первой отправке новой ветки необходимо настроить отслеживание вышестоящей ветки с помощью -u.
git push origin main
git push -u origin feature/auth # set upstream and push
git push # push to tracked remote (after -u)git pull — Получение коммитов из удалённого репозитория
git pull получает изменения из отслеживаемой удалённой ветки и объединяет их с текущей веткой. Эта команда эквивалентна последовательности git fetch + git merge.
git pull # fetch and merge from tracked upstream
git pull origin main # explicit remote and branchgit fetch — Загрузка без слияния
git fetch загружает все изменения из удалённых репозиториев, не изменяя ваш рабочий каталог. Используйте эту команду, чтобы увидеть, какие коммиты создали коллеги, прежде чем решать, как интегрировать их изменения.
git fetch origin
git log origin/main --oneline # inspect remote commits
git merge origin/main # integrate when readyНастройка ключей SSH
Для GitHub требуется аутентификация. При использовании HTTPS нужны имя пользователя и токен. Ключи SSH удобнее: сгенерируйте пару ключей, добавьте открытый ключ в GitHub, и аутентификация будет выполняться автоматически.
ssh-keygen -t ed25519 -C "your@email.com"
# Public key:
cat ~/.ssh/id_ed25519.pub
# Copy this into GitHub Settings → SSH KeysUpstream и origin
origin — это ваша копия репозитория. upstream — исходный репозиторий. При участии в проектах с открытым исходным кодом: создайте ответвление → клонируйте его → добавьте удалённый репозиторий upstream → получайте изменения из upstream, чтобы оставаться в актуальном состоянии.
git remote add upstream https://github.com/original/repo.git
git fetch upstream
git merge upstream/mainПринудительная отправка — используйте с особой осторожностью
git push --force перезаписывает историю удалённой ветки. Никогда не выполняйте принудительную отправку в основную или общие ветки — это переписывает историю для всех. До проверки PR такую отправку можно безопасно выполнять для личных веток после переноса.
git pull --rebase
git pull --rebase применяет ваши локальные коммиты поверх полученных коммитов вместо создания коммита слияния. В результате история становится чище и линейнее. Многие команды устанавливают эту стратегию как используемую по умолчанию при получении изменений.
git pull --rebase origin main
# Set as default:
git config --global pull.rebase true.git/config
Локальная конфигурация git для репозитория хранится в .git/config. В ней сохраняются адреса удалённых репозиториев и отслеживаемые ветки. В ~/.gitconfig хранятся глобальные настройки, такие как ваше имя и адрес электронной почты.
# ~/.gitconfig
[user]
name = Alice Developer
email = alice@example.com
[core]
editor = code --waitБыстрая проверка
Что делает команда git push -u origin feature/auth?
Итоги: удалённые репозитории
git clone локально копирует удалённый репозиторий. git remote управляет адресами удалённых репозиториев. git push отправляет коммиты. git pull получает и объединяет изменения. git fetch загружает изменения без слияния. Используйте SSH для безопасной аутентификации. origin — ваш удалённый репозиторий, а upstream — исходный репозиторий в проектах с открытым исходным кодом. Выполняйте принудительную отправку только в личных ветках, которые ещё не проходили проверку.
Часто задаваемые вопросы
Урок «Удалённые репозитории: push, pull и clone» бесплатный?
Да — полный текст урока «Удалённые репозитории: push, pull и clone» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Frontend Academy, подпишись на CoddyKit PRO. Курс Frontend Academy содержит 4 уроков всего.
Чему я научусь в уроке «Удалённые репозитории: push, pull и clone»?
Подключайте локальный репозиторий к GitHub, отправляйте коммиты в удалённый репозиторий, получайте изменения от коллег и клонируйте существующие репозитории. Ты практикуешь Frontend Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Frontend Academy?
Предыдущий опыт не требуется. Frontend Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Удалённые репозитории: push, pull и clone»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Frontend Academy?
Да. Каждый урок Frontend Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- git init, add, commit и status
- Ветвление: branch, checkout и merge
- Удалённые репозитории: push, pull и clone
- Рабочий процесс pull request на GitHub