Как скачать чужой репозиторий с github
Перейти к содержимому

Как скачать чужой репозиторий с github

Клонирование репо из чужого Github и отправка его в репо на моем Github

Я клонировал репо на https://github.com/railstutorial/sample_app_rails_4 и внес много изменений в это (я использовал его в качестве отправной точки для своего собственного приложения), и теперь я хотел бы отправить измененное приложение в репо в моей собственной учетной записи github.

Как я могу изменить репозиторий github, с которым он связан?

8 ответов

Как говорит Дифур, ваша ситуация мало чем отличается от ситуации в Измените URI (URL) удаленного репозитория Git. Когда вы clone репозиторий, он добавляется как ваш remote под именем origin . Что вам нужно сделать сейчас (поскольку вы больше не используете старый источник), так это изменить URL-адрес origin :

Если исходный репозиторий будет часто обновляться, и вы хотите получать эти обновления время от времени, то вместо редактирования origin было бы лучше добавить новый remote :

Или, может быть, даже назовите старую upstream :

Затем, когда вы захотите получить изменения из upstream , вы можете:

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

GitHub: git clone чужой репозиторий и git push ваш собственный репозиторий

Я буду называть чужой репозиторий другим репозиторием .

Создайте новый репозиторий на github.com. (это ваш репозиторий )

  • Дайте ему то же имя, что и другой репозиторий .
  • Не инициализируйте его с помощью README, .gitignore или лицензии.

Клонируйте другой репозиторий на свой локальный компьютер. (если вы еще этого не сделали)

  • git clone https://github.com/other-account/other-repository.git

Переименуйте текущий локальный репозиторий » origin » в » upstream «.

  • git remote rename origin upstream

Дайте локальному репозиторию » origin «, который указывает на ваш репозиторий .

  • git remote add origin https://github.com/your-account/your-repository.git

Переместите локальный репозиторий в ваш репозиторий на github.

    git push origin master

Теперь ‘ origin ‘ указывает на ваш репозиторий , а ‘ upstream ‘ указывает на другой репозиторий .

  • Создайте новую ветку для ваших изменений с git checkout -b my-feature-branch .
  • Вы можете git commit как обычно в свой репозиторий .
  • Используйте git pull upstream master , чтобы перенести изменения из другого репозитория в вашу главную ветку.

Удалите git и перезапустите.

Ваша цель, вероятно, состоит в том, чтобы поместить это репо на свое и сделать его своим.

Идея состоит в том, чтобы удалить .git/ и повторно инициализировать.

  1. перейдите в свою клонированную папку репо rm -rf .git
  2. повторно инициализируйте его, а затем добавьте свой пульт и сделайте первое нажатие.

Вы можете сделать это, создав новый пульт из вашего локального репозитория (через командную строку).

Тогда вы можете позвонить:

Чтобы заменить установленный по умолчанию пульт «origin», вы можете запустить следующее:

Я думаю, что «самый вежливый способ» сделать это:

  1. Разветвите исходное репо в своей учетной записи GitHub
  2. Проверьте новую ветку для ваших изменений git checkout -b <your_branch_name> (на случай, если вы не сделали этого раньше)
  3. Добавьте новый пульт для вашего локального репозитория: git remote add github <your_repository_ssh_url>
  4. Отправьте свою новую красивую ветку в репозиторий github: git push github <your_branch_name>

Таким образом, у вас будет репо, разветвленное на исходное, а ваши изменения будут внесены в отдельную ветку. Это будет проще, если вы хотите отправить запрос на перенос в исходное репо.

В основном вам нужно связать новое репо с вашей папкой

У меня была аналогичная ситуация, но в моем случае мне просто нужно было сделать, как предлагалось, но с https , например:

$ git remote set-url origin https://github.com/YOU/YOUR_REPO

После клонирования скопируйте файлы из их папки в новую и начните заново с помощью git init,

У меня была аналогичная проблема, и мне пришлось изменить каталог папки, прежде чем я смог внести изменения в свое репо.

Или вы можете удалить текущий источник репозитория с помощью команды git remote remove origin.

Клонирование репозитория с GitHub через Git на Windows

Репозиторий — это место, где хранятся некие данные (файлы), можно сказать, что это просто директория или же папка.

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

Удалённый репозиторий — это место в неком облачном хранилище, к которой Вы имеете доступ, в котором хранятся некие данные (файлы).

В качестве примера будем клонировать репозиторий с GitHub специально подготовленный для данного урока. Файл, находящийся в рассматриваемом репозитории, не несёт ничего особо важного. Там хранится текстовый файл с текстом внутри.

Примечание: на операционной системе Windows (в некоторых версиях) периодически возникают проблемы с «правами доступа». Чтобы не править настройки (каждый случай, можно сказать, индивидуален) будем использовать вариант, который работает во многих случаях.

Примечание: если Вы подключены к интернету с помощью прокси — могут возникнуть проблемы.

Жизнь — это движение! А тестирование — это жизнь 🙂

Для начала установите Git. Когда он установлен, можно выкачивать репозиторий на свой компьютер. Я покажу 3 способа:

  1. Через консоль
  2. Через IDEA
  3. Через TortoiseGit

1. Через консоль

2. Через IDEA

  • URL — https://bitbucket.org/testbasecode/folks/src/master/ (откуда выкачиваем исходный код)
  • Назначение — D:\git\folks_idea (куда сохраняем на нашем компьютере)

3. Через TortoiseGit

  • URL — https://bitbucket.org/testbasecode/folks/src/master/ (откуда выкачиваем исходный код)
  • Directory — D:\git\folks_tortoise_git (куда сохраняем на нашем компьютере)

1 комментарий:

Рекомендовать использовать TortoiseGit в качестве это жесткий прикол.

Де факто обычно используют Source Tree, в связки с битбакетом.
Если же у вас не юникод то GitExtensions.
Для продвинутых Git Kraken

Обо мне

Моя фотография Ольга Назина (Киселева) Уже более 12 лет как тестировщик 🙂
Автор портала Testbase — школы начинающих тестировщиков.
Автор Багреда — сервиса проверки названия багов

Я веду курсы для тестировщиков (для начинающих и не только). Отдельные ссылки смотри ниже в блоке «мои курсы»

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

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