Клонирование репо из чужого 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/ и повторно инициализировать.
- перейдите в свою клонированную папку репо rm -rf .git
- повторно инициализируйте его, а затем добавьте свой пульт и сделайте первое нажатие.
Вы можете сделать это, создав новый пульт из вашего локального репозитория (через командную строку).
Тогда вы можете позвонить:
Чтобы заменить установленный по умолчанию пульт «origin», вы можете запустить следующее:
Я думаю, что «самый вежливый способ» сделать это:
- Разветвите исходное репо в своей учетной записи GitHub
- Проверьте новую ветку для ваших изменений git checkout -b <your_branch_name> (на случай, если вы не сделали этого раньше)
- Добавьте новый пульт для вашего локального репозитория: git remote add github <your_repository_ssh_url>
- Отправьте свою новую красивую ветку в репозиторий 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 способа:
- Через консоль
- Через IDEA
- Через 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 — школы начинающих тестировщиков.
Автор Багреда — сервиса проверки названия багов
Я веду курсы для тестировщиков (для начинающих и не только). Отдельные ссылки смотри ниже в блоке «мои курсы»