2017-02-16 5 views
2

Я нашел исходный код в github. У этого есть некоторый запрос тяги, который указывает изменение кода. Я хотел бы загрузить/клонировать один из них на свой компьютер. Его запрос тянуть идентификатор 3983 по адресу https://github.com/BVLC/caffe/pull/3983 Спасибо всемКак клонировать/загружать код из запроса на растяжение

+0

http://stackoverflow.com/questions/14947789/github-clone-from-pull-request –

ответ

2

Потому что, кто-то имеет больше запроса один нагрузочного, каждый запрос тянуть имеет собственный идентификатор. Как я могу скачать правильную версию, которая соответствует тянуть ID запроса

Лучше клонировать исходный репозиторий, а также импортировать PR branch based on its ID

git clone https://github.com/BVLC/caffe 
cd caffe 
git remote add christianpayer https://github.com/christianpayer/caffe.git 

Тогда для одного из слитой PR christianpayer в в происхождении:

git fetch origin pull/3983/head:pull_3983 
git checkout pull_3983 

Вы можете получить другие ОР из этого удаленного репо или добавить другие удаленные репозитории для получения других PR.

+0

Я попробовал вашу третью команду, и я получил ошибку «фатальный: не удалось найти удаленный рефлектор/3983/head Неожиданный конец командного потока». – user8264

+0

Да, это ожидается, поскольку номер PR существует только при возникновении репо: замените христианского плательщика по происхождению – VonC

1

Есть два способа сделать это:

:

git clone https://github.com/christianpayer/caffe.git 
cd caffe 
git checkout nd-cudnn 

Именно отсюда:

https://github.com/christianpayer/caffe/tree/nd-cudnn

:

git clone https://github.com/BVLC/caffe.git

cd caffe/.git

Теперь добавьте строку fetch = +refs/pull/*/head:refs/remotes/origin/pr/* к config

[remote "origin"] 
     url = https://github.com/BVLC/caffe.git 
     fetch = +refs/heads/*:refs/remotes/origin/* 
     fetch = +refs/pull/*/head:refs/remotes/origin/pr/* 

Теперь получать все запросы подтягивания:

$ git fetch origin 
From github.com:joyent/node 
* [new ref]   refs/pull/5190/head -> origin/pr/5190 
* [new ref]   refs/pull/5193/head -> origin/pr/5193 
* [new ref]   refs/pull/5198/head -> origin/pr/5198 
* [new ref]   refs/pull/520/head -> origin/pr/520 

... 

Чтобы проверить конкретный запрос выдвижной:

$ git checkout pr/3983 
Branch pr/3983 set up to track remote branch pr/3983 from origin. 
Switched to a new branch 'pr/3983' 
+0

Что такое git checkout nd-cudnn? Потому что я получил ошибку при ее использовании 'fatal: не репозиторий git (или любой из родительских каталогов): .git' Мне нужно сначала перейти в папку caffe? – user8264

+0

Перед этим вам пришлось «cd», поэтому я добавил 'cd caffe' – Avi

+0

Спасибо. У меня также есть вопрос. Откуда вы знаете 'https: // github.com/christianpayer/caffe.git', соответствующий запросу 3983? – user8264