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

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

  • автор:

A3.2 Приложение C: Команды Git — Клонирование и создание репозиториев

Существует два способа создать Git репозиторий. Первый — клонировать его из существующего репозитория (например, по сети); второй — создать репозиторий в существующем каталоге.

git init

Чтобы превратить обычный каталог в Git репозиторий и начать версионировать файлы в нём, просто запустите git init .

Впервые мы продемонстрировали эту команду в разделе Создание Git-репозитория главы 2 на примере создания нового репозитория для последующей работы с ним.

Мы немного поговорили о смене названия ветки по умолчанию с «master» на что-нибудь другое в разделе Удалённые ветки главы 3.

Мы использовали эту команду для создания чистого репозитория для работы на стороне сервера в разделе Размещение голого репозитория на сервере главы 4.

Ну и наконец мы немного покопались во внутренностях этой команды в разделе Сантехника и Фарфор главы 10.

git clone

На самом деле git clone работает как обёртка над некоторыми другими командами. Она создаёт новый каталог, переходит внутрь и выполняет git init для создания пустого репозитория, затем она добавляет новый удалённый репозиторий ( git remote add ) для указанного URL (по умолчанию он получит имя origin ), выполняет git fetch для этого репозитория и, наконец, извлекает последний коммит в ваш рабочий каталог, используя git checkout .

Команда git clone используется в десятке различных мест в этой книге, но мы перечислим наиболее интересные упоминания.

Первоначальное знакомство происходит в разделе Клонирование существующего репозитория главы 2, где мы даём немного объяснений и приводим несколько примеров.

В разделе Установка Git на сервер главы 4 мы рассмотрели как использовать опцию —bare , чтобы создать копию Git репозитория без рабочей копии.

В разделе Создание пакетов главы 7 мы использовали git clone для распаковки упакованного с помощью git bundle репозитория.

Наконец, в разделе Клонирование проекта с подмодулями главы 7 мы научились использовать опцию —recursive чтобы упростить клонирование репозитория с подмодулями.

И хотя git clone используется во многих других местах в книге, перечисленные выше так или иначе отличаются от других вариантов использования.

Клонировать на github чужой репозиторий

Клонировал чужой репозиторий на свой компьютер, работаю с этим проектом и теперь хочу запушить его на свою страницу гитхаба в новый репозиторий. Выбивает мне ошибку:

unable to access. The requested URL returned error: 403

Как можно это исправить?
Отслеживать
67.9k 216 216 золотых знаков 77 77 серебряных знаков 219 219 бронзовых знаков
задан 15 мая 2018 в 19:19
65 2 2 серебряных знака 8 8 бронзовых знаков
Проще всего сначала форкнуть репозиторий и клонировать уже свой форк.
15 мая 2018 в 19:26

Если предположить, что Вы уже сделали форк (например, посредством hub fork ), вероятно, Вы делаете git push origin YourBranch вместо git push YourGitHubName YourBranch . Если нет, пожалуйста, добавьте в вопрос команды, которые Вы вводили в терминал. Спасибо.

15 мая 2018 в 19:34
git remote set-url origin github.com/USERNAME/REPOSITORY.git
5 янв 2019 в 17:44

2 ответа 2

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

403 это ошибка — Доступ запрещен Может вы по ошибке на чужой удаленный репозиторий отправляете? git remote show какие репозитории показывает?

Отслеживать
ответ дан 15 мая 2018 в 19:36
181 1 1 серебряный знак 15 15 бронзовых знаков

Судя по всему вы клонировали чужой репозиторий, к которому вам никто не давал доступа на запись. Доступ на чтение есть у всех, так как это публичный репозиторий, по этому вы смогли его клонировать. Вы можете выложить этот репозиторий на свой гитхаб, но тогда потеряется информация о том, что репозиторий был форкнут (ответвлен) от оригинального — это будет отдельный самостоятельный репозиторий. Обычно так делать не стоит, по этому я не буду рассматривать этот вариант более подробно.

Правильнее сделать так:

кнопка fork

  1. Через интерфейс гитхаба форкнуть оригинальный репозиторий. Это создаст копию репозитория в вашем аккаунте и при этом гитхаб будет знать, что он ответвлен от оригинального и это вам позволит, например, создавать в него пулл-реквесты.
  2. Добавить ваш форк как удаленный репозиторий в вашем локальном репозитории. Скорее всего у вас оригинальный репозиторий назван как origin. Можно либо добавить свой с другим именем, либо изменить url у существующего. На мой взгляд, чтобы было меньше путаницы, лучше если origin будет ссылаться на основной для вас репозиторий, в который вы будете пушить (то есть ваш форк): git remote set-url origin . А для оригинального репозитория принято использовать имя upstream: git remote add upstream

Как залить в чужой репозиторий на GIthub?

Добрый день. Меня добавили в один прайват репо на github.(Получил уведомление You can now push to this repository.)
Нужно запилить несколько правок по коду и влить туда соответственно. Какой у меня порядок действий? Только без форка данного репо в свой github.

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

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

Оценить 1 комментарий

Решения вопроса 1

Denormalization

D’ @Denormalization

Добавить git remote add [url]
и пушить в него.

Или просто склонировать его и так же пушить.

Ответ написан более трёх лет назад

zigen

zigen @zigen Автор вопроса
push зальет только разницу между моей версией и версией на github?

Denormalization

D’ @Denormalization

zigen: push зальет все различия между локальной версией, и версией на гитхабе. Поэтому предварительно нужно сделать pull и смерджить. Затем можно спокойно пушить.

Ответы на вопрос 1

b0nn1e

Alcohol & Ruby on Rails

8536993405.png

1. Копируете себе локально репозиторий.
git clone url [folder]
cd [folder]
2. Создаете ветку [branch_name]
git checkout -b [branch_name]
3. Делайте изменения
4. Делаете один коммит или несколько.
git add . (если создавали новые файлы)
git commit -am «Added beautiful fixes»
5. Создаете удаленную ветку.
git push —set-upstream origin [branch_name]
В дальнейшем когда удаленная ветка создана то просто
git push
6. Создаете в интерфейсе github pull-request. Из вашей ветки в master.

7. автор или вы сами вливаете(merge)/отклоняете(decline) pull-request.
На этом этапе можно добавить комментарии или замечания к коду, что-то исправить.
8.Когда пул-реквест влили, вы локально переключаетесь в master и забираете все изменения
git checkout master
git pull

Если еще нужно что-то сделать повторяете шаги начиная со 2.

Клонирование репозитория из GitHub в GitHub Desktop

Также можно использовать GitHub для клонирования удаленных репозиториев в GitHub Desktop.

Tip: You also can use GitHub Desktop to clone repositories that exist on GitHub. For more information, see «Cloning and forking repositories from GitHub Desktop.»

  1. Sign in to GitHub.com and GitHub Desktop before you start to clone.
  2. On GitHub.com, navigate to the main page of the repository.
  3. Above the list of files, click

Screenshot of the list of files on the landing page of a repository. The

Code.

Screenshot of the

Open with GitHub Desktop.

Screenshot of the

Click Choose. and navigate to a local directory where you want to clone the repository.

Note: If the repository is configured to use LFS, you will be prompted to initialize Git LFS.

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

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