Блог

Как связать локальный репозиторий с удаленным на GitHub

Исходные данные

Статья в первую очередь адресована тем, кто уже

  • создал ssh-ключи на своей локальной машине,
  • добавил их в свой аккаунт на GitHub
  • и испытывает острую потребность регулярно сохранять изменение своих проектов на удалённм репозитории.
  • Если же Вы пока ещё не готовы смело зачернуть все пункты извышеперечисленных, то рекомендуется для начала ознакомиться с этой статьёй:

Всем остальным предлагается 2 способа связать локальный репозиторий с удалённым:

  1. Создать удалённый репозиторий на GitHub и связать его с уже созданным ранее локальным репозиторием
  2. Создать удалённый репозиторий, клонировать его на локальную машину и перенести туда свой проект

И в том и в другом случае вам потребуется создать новый репозиторий.

GitHub: настроить ветвь по умолчанию и создать новый репозиторий

Прежде всего, настоятельно рекомендуется облегчить себе жизнь на будущее и вернуть дефолтное название основной ветви снова на master. Зто позволит вам избежать путаницы в названиях и ненужных ошибок в дальнейшей работе. Поскольку имено master является дефолным названием ветви во вновь создаваемых локальных репозиториях.

Для этого нужно в GitHub нажать на пиктограмму своего аватара в правом верхнем углу, далее выбрать "Settings" (Настройки).

На открывшейся странице в разделе "Code, planning, and automation" (Код, планирование и автоматизация) выбрать "Repositories" (Репозитории) и в разделе "Repository default branch" (Ветвь репозитория по умолчанию) заменить значение main на master. (И, конечно же, не забыть после этого нажать кнопку Update!)

Теперь можно смело создавать новые репозитории. Для этого мы переходим в список репозиторием и нажимает кнопку New. Выбирать какие-либо опции (особенно в первом случае!) совсем не обязательно. Более подробно эта процедура рассмотрена в видео (ссылка в конце статьи).

1. Создать удалённый репозиторий на GitHub и связать его с уже созданным ранее локальным репозиторием

Если вы выбрали этот путь, значит на вашей локальной машине уже есть рабочая папка, в который вы уже когда-то ввели в терминале

git init

И, возможно, там даже есть своя история коммитов.

В это случае, копируем SSH адрес внось созданного репозитория и вводим терминале локального репозитория команду:

git remote add origin <your repository name>

Если были какие-то изменения в проекта, необходимо их записать в локальный репозиторий:

git add --all && git commit -m "your commit"

И после этого добавить всю эту информацию в удалённый:

git push -fu origin master

Важно! Префикс -f использован для случая, если вы уже успели что-то записать в удалённый репозиторий, но эта информация вам не нужна. Поэтому запись этого обновления локального репозитория полность перепишет всю информацию репозитория удалённого.

На этом, собственно, всё - удалённый репозиторий теперь привязан к локальному и готов к работе!

2. Создать удалённый репозиторий, клонировать его на локальную машину и перенести туда свой проект

Этот вариань несколько проще в реализации и идеально подойдёт тем, кто пока ещё не перешёл с git "на ты".

Для его воплощения в жизнь потребуется выбрать в окне терминала место, где будет находится локальный репозиторий, и далее ввести только одну команда:

git clone <your repository name>

Инициализация локального репозитория и его привязка к удалённому благополучно завершены и можно приступать к работе. Единственное дополнение: для создания коммитов после внесения изменений в проект сначала неободимо будет "опуститься" на 1 уровень вниз - в папку проекта (см. видео)

Более подробно со всей информацией, изложенной в статье, можно познакомиться в этом видео:

Читать дальше >>

Список тэгов

    Apps Script      Arrays Java Script      asynchronous code      asyncio      coroutine      Django      Dropdown List      Drop Shipping      Exceptions      GitHub      Google API      Google Apps Script      Google Docs      Google Drive      Google Sheets      multiprocessing      Parsing      Python      regex      Scraping      ssh      Test Driven Development (TDD)      threading      website monitoring      zip