Как подключиться к нужному репозиторию 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
- Создаем на сайте GitHub репозиторий. В нашем случае git@github.com:obemgcabazn/*имя репозитория*.git
- Открываем в папке проекта командную строку и выполняем команду git init . Она создаст папку .git
- git remote add origin https://github.com/obemgcabazn/*имя репозитория*.git Привязываем папку к нашему репозиторию на GitHub (origin — это синоним «удаленного репозитория»).
- git add . — эта команда добавит в индекс все файлы из папки
- git add -u — (u — updated) добавить в stage файлы измененные с последнего коммита файлы
- git status покажет, что на данный момент находится в индексе
- 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:
- Зарегистрируйтесь на GitHub и создайте ssh-ключи по инструкции . SSH-ключи — это наиболее безопасный способ работы с GitHub, поэтому важно разобраться с ними
- Создайте репозиторий на GitHub. Назовите его hexlet-git. Важно, чтобы репозиторий создавался пустым, поэтому не отмечайте галочки, добавляющие файлы
- На странице репозитория вы увидите готовые команды для подключения созданного репозитория на 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. Последний можно даже поставить к себе на сервер и хостить репозитории внутри своей компании, что многие и делают по соображениям безопасности или экономии.
Самостоятельная работа
- Выполните все шаги из урока, создайте и добавьте ssh-ключи на GitHub по инструкции
- Добавьте новый файл NEW.md с произвольным содержимым в репозиторий. Для этого нужно выполнить коммит
- Залейте изменения на GitHub с помощью git push
- Обновите страницу репозитория на GitHub. Там должен появиться последний коммит — те изменения, которые были совершены
Дополнительные материалы
- Цикл git-разработки (init, commit, push on GitHub)
- GitHub — Настройка и конфигурация учетной записи
- Создание SSH-ключа для работы с GitHub по SSH
![]()
Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Об обучении на Хекслете
- Статья «Как учиться и справляться с негативными мыслями»
- Статья «Ловушки обучения»
- Статья «Сложные простые задачи по программированию»
- Вебинар « Как самостоятельно учиться »
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
- 130 курсов, 2000+ часов теории
- 1000 практических заданий в браузере
- 360 000 студентов
Наши выпускники работают в компаниях: