Перейти к содержимому

Как подключиться к репозиторию github

  • автор:

Как подключиться к нужному репозиторию github?

Есть репозиторий на гитхаб, я скачал файлы методом кнопки download вместо того что бы клонировать. И за этого файлы никак не связанны с тем репозиторием. Как сделать что бы файлы на моем пк подключились к тому репозиторию? ( Изменение сделал в локальных файлах, поэтому клонировать тот с гитхаба не вариант )

Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 13 янв 2020 в 6:18
2,171 4 4 золотых знака 20 20 серебряных знаков 37 37 бронзовых знаков

Сами же написали — «клонировать», только в новую папку, а потом в клоне заменить на ваши измененные, закомитить и запушить.

13 янв 2020 в 6:30

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Это делается командой git remote add , но делать её можно только на существующем репозитории, так что вам понадобится ещё и git init . Потом вам понадобится получить из репозитория коммиты командой git fetch и сделать git reset чтобы вносить свои изменения не с нуля, а начиная с головы репозитория.

git init git remote add origin url_репозитория git fetch origin git reset --mixed origin/master git add измененные файлы git commit -m "комментарий к коммиту" git push -u origin master 

URL репозитория можно получить нажав на ту самую кнопку Clone в интерфейсе github.

Как подключиться к своему git репозиторию на гитхабе если они у меня не связаны?

У меня есть проект который я добавлял и обновлял на гитхабе еще до того как начал учиться работать с гитом, можно ли мне както создать репозиторий локально и связать его с существующим на гитхабе и уже пушить новые изменения через git локально? не удобно изменять и вруную обновлять все данные через гитхаб интерфейс, вроде читал что надо типо через команду git pull или что-то вроде того? надеюсь вопрос задал понятно). За ранее спасибо)

  • Вопрос задан более трёх лет назад
  • 8281 просмотр

Комментировать
Решения вопроса 2

Вариант первый:
Просто клонируете репозитарий с гитхаба и работаете потом с ним:
$ git clone
Второй вариант, у вас локально уже есть гит. Вы подключаете удаленный репозитарий
$ git remote add

Как работать с удаленными репозитариями описывать не буду, это есть уже в 1000 или более инструкций.

Как начать работать с GitHub

  1. Создаем на сайте GitHub репозиторий. В нашем случае git@github.com:obemgcabazn/*имя репозитория*.git
  2. Открываем в папке проекта командную строку и выполняем команду git init . Она создаст папку .git
  3. git remote add origin https://github.com/obemgcabazn/*имя репозитория*.git Привязываем папку к нашему репозиторию на GitHub (origin — это синоним «удаленного репозитория»).
  4. git add . — эта команда добавит в индекс все файлы из папки
  5. git add -u — (u — updated) добавить в stage файлы измененные с последнего коммита файлы
  6. git status покажет, что на данный момент находится в индексе
  7. git rm -r —cached /frontend/psd/. — Если нам не нужно передавать какие-то файлы в коммит, то можем удалить их из индекса командой rm . Здесь нужно быть внимательным, так как без флагов эта команда удалит и файлы с жесткого диска.
    • Чтобы оставить файлы на диске и удалить их из индекса, есть флаг —cached
    • Если нужно удалить все файлы из индекса, лежащие в какой-то определенной папке, то нужно поставить флаг -r . Чтобы пройти рекурсивно по всем файлам.

Добавить SSH ключи

Если не работает по причине нехватки прав, то, возможно проблема с SSH ключами. Нужно запустить Gti Bash и набрать следующую команду: ssh-keygen -t rsa -C «myemail@mail.ru» . Конечно, указать свой почтовый ящик. На все вопросы нажимаем Enter. После выполнения, в каталоге C:\Documents and Settings\username\.ssh появятся файлы id_rsa и id_rsa.pub.

Далее на GitHub.com заходим в аккаунт в Settings -> SSH and GPG keys -> «New SSH key». В Заголовок вставляем что угодно, что поможет потом понять на какой компьютер установлен ключ (например, имя или место компьютера), а в поле key вставляем содержимое id_rsa.pub .

После этого гитхаб должен перестать ругаться на отсутствие прав доступа.

Часто используемые команды

  • git add файлы — добавляет файлы в индекс
  • git commit — отправляет из индекса в хранилище для дальнейшей отправки (git push) в удаленный репозиторий
  • git reset — файлы заменяет файлы в индексе файлами из последнего коммита
  • git checkout файлы — заменяет файлы проекта ни диске файлами из индекса
  • git push origin master — отправляет файл на сервер, чтобы не вводить каждый раз логин/пароль, воспользуйтесь флагом ‘-u’

Чтобы создать новую ветку, нужно использовать команду git branch [Название_ветки] . Если написать просто git branch — покажет список существующих веток.

git checkout [Название ветки] — выбор ветки

Чтобы создать ветку и сразу ее выбрать git checkout -b [Новая ветка]

Интеграция с GitHub — Введение в Git

Сейчас у нас есть репозиторий с двумя коммитами. Содержимое директории hexlet-git выглядит так:

ls -a .git PEOPLE.md README.md 

Перед тем, как продолжить экспериментировать, добавим наш репозиторий на GitHub. В этом уроке мы познакомимся с этим сервисом и освоим самые базовые действия с ним.

Как добавить репозиторий

Сохраненный репозиторий в любой момент можно извлечь и продолжить работу в нем с последнего добавленного коммита. Это пригодится, если мы случайно удалим или изменим локальный репозиторий так, что с ним станет невозможно работать.

Добавим наш репозиторий на GitHub:

  1. Зарегистрируйтесь на GitHub и создайте ssh-ключи по инструкции . SSH-ключи — это наиболее безопасный способ работы с GitHub, поэтому важно разобраться с ними
  2. Создайте репозиторий на GitHub. Назовите его hexlet-git. Важно, чтобы репозиторий создавался пустым, поэтому не отмечайте галочки, добавляющие файлы
  3. На странице репозитория вы увидите готовые команды для подключения созданного репозитория на GitHub к уже существующему репозиторию у вас на компьютере: Выполните эти шаги:

# Подробнее эти команды мы разберем позже git remote add origin git@github.com:/hexlet-git.git git branch -M main git push -u origin main 

После этой команды репозиторий, созданный на github.com, «соединяется» с локальным репозиторием hexlet-git. Здесь может возникнуть вопрос: «Почему соединяется? Разве это не один и тот же репозиторий?».

На самом деле, это разные репозитории. Git — это распределенная система контроля версий. Это значит, что у Git нет какого-то центрального места, где лежит один главный репозиторий, а разработчики работают с ним со своих компьютеров.

Каждый репозиторий на GitHub и на компьютере у разработчика — это отдельные полноценные репозитории. Система Git связывает эти отдельные репозитории, объединяет их общей историей и добавляет возможность обмениваться изменениями:

В примере выше именно команда git push отправляет изменения во вновь созданный репозиторий.

Когда мы выполнили команды выше, локальный и удаленный репозиторий идентичны. Но в процессе работы они все время будут расходиться. Поэтому программисты должны не забывать синхронизировать изменения — заливать в репозиторий новые коммиты и забирать оттуда коммиты, сделанные другими разработчиками.

Теперь не важно, какие изменения делаются в локальном репозитории. На GitHub все коммиты попадут только после команды git push , поэтому не забывайте делать ее. Бывает такое, что разработчик случайно удаляет локальный репозиторий, забыв запушить изменения — применить команду git push .

Далее мы попробуем скачать репозиторий с GitHub так, как будто у нас нет локальной копии. Для этого удалите директорию проекта hexlet-git с вашего компьютера.

Как клонировать репозиторий

Репозитории на GitHub делятся на публичные и приватные. Публичный репозиторий любой человек может клонировать себе на компьютер. После клонирования он начнет работать с ним как с личным.

Единственное ограничение — он не сможет запушить изменения, так как GitHub не дает напрямую менять чужие репозитории.

Клонирование — базовая операция при работе с удаленными репозиториями. Проекты, над которыми работают программисты, всегда находятся в системах, подобных GitHub. Для работы с ними нужно клонировать репозиторий к себе на компьютер.

Клонировать репозиторий можно с помощью команды git clone . Полную команду для клонирования можно получить на странице репозитория. Для этого нажмите большую кнопку Code, перейдите на вкладку SSH и скопируйте содержимое:

/hexlet-git.git cd hexlet-git ls -la # Если эта операция проходит первый раз, # То вы можете увидеть такое подобное сообщение The authenticity of host github.com cannot be established. RSA key fingerprint is SHA256: хххххххххх Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added github.com (RSA) to the list of known hosts. # Наберите yes и нажмите Enter 

Мы получили точную копию репозитория, который был у нас до удаления директории hexlet-git.

Как получить изменения с GitHub

Разработчики не только отправляют свои изменения на GitHub, но и забирают их оттуда. Чаще всего это изменения, сделанные другими разработчиками проекта, но необязательно. Бывает такое, что один разработчик работает над одним проектом с разных компьютеров, на каждом из которых своя собственная копия репозитория.

В таком случае, перед началом работы нужно всегда выполнять команду git pull —rebase , которая скачивает из внешнего репозитория новые коммиты и добавляет их в локальный репозиторий.

Считается, что достаточно вызывать git pull , но это может приводить к созданию ненужных коммитов, из-за которых становится сложнее следить за историей изменений.

Правильная работа с git pull требует знания таких вещей, как ветвление и git rebase . Они довольно сложны для новичков, поэтому мы рассмотрим их позже, когда появится хоть какой-то опыт работы с Git.

Выводы

Подведем некоторый итог. В этом уроке мы создали репозиторий с несколькими коммитами и добавили его на GitHub. Теперь его можно склонировать для дальнейшей разработки.

Какую пользу из Git мы можем извлечь к текущему моменту? У нас есть запасная копия кода на сайте GitHub. Как минимум, нам нестрашно потерять код. Теперь его легко восстановить при случае, а еще им можно поделиться с другими.

Отдельно стоит сказать, что GitHub — это хоть и самая популярная, но не единственная площадка для хостинга репозиториев. Кроме него, особенно известны Bitbucket и GitLab. Последний можно даже поставить к себе на сервер и хостить репозитории внутри своей компании, что многие и делают по соображениям безопасности или экономии.

Самостоятельная работа
  1. Выполните все шаги из урока, создайте и добавьте ssh-ключи на GitHub по инструкции
  2. Добавьте новый файл NEW.md с произвольным содержимым в репозиторий. Для этого нужно выполнить коммит
  3. Залейте изменения на GitHub с помощью git push
  4. Обновите страницу репозитория на GitHub. Там должен появиться последний коммит — те изменения, которые были совершены
Дополнительные материалы
  1. Цикл git-разработки (init, commit, push on GitHub)
  2. GitHub — Настройка и конфигурация учетной записи
  3. Создание SSH-ключа для работы с GitHub по SSH

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Об обучении на Хекслете

  • Статья «Как учиться и справляться с негативными мыслями»
  • Статья «Ловушки обучения»
  • Статья «Сложные простые задачи по программированию»
  • Вебинар « Как самостоятельно учиться »

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *