2013-05-22 2 views
1

Я довольно новичок в GIT, и я пытался найти ответ на этот вопрос в Интернете, но до сих пор не нашел ничего, что говорит с ним.Git: Получение чего-то проекта elses без forking

Если я правильно понимаю цель разворачивания репо, вы можете играть с кодом при подготовке запроса на тяну, а затем сделать запрос на тяну, чтобы внести свой вклад в проект.

Но много раз авторы сделали фантастическую работу по созданию ресурсов javascript для плагинов. В этих случаях я просто хочу сохранить чистую и текущую копию для проектов.

Возьмем, к примеру, Lea Verrou's prefixfree. Это блестящий проект, написанный кем-то, кто знает намного больше о префиксе поставщика, чем когда-либо. Я, честно говоря, вряд ли смогу внести свой вклад в проект.

В этом случае используется лучший вариант или существует лучший способ поддерживать параллелизм и хранение для загрузки?

+1

Просто 'git clone' и' git pull', когда нужно? – Dogbert

+3

Просто используйте 'git clone [email protected]: /' непосредственно. –

ответ

11

Вам не нужно разветвлять проект. Чтобы получить репозиторий, вы можете просто клонировать его.

Перейти к project page on GitHub и использовать URL проекта, чтобы клонировать его:

GitHub cloning URL
(нажав копирование в буфер обмена кнопки, хорошо, копирует URL в буфер обмена)

Открыть GIT Баш и перейдите в нужную папку. Затем запустите:

git clone <your clone URL> 

в вашем случае это будет:

git clone https://github.com/LeaVerou/prefixfree.git 

Всякий раз, когда новые обновления приходят, вы можете просто обновить репозиторий с помощью:

git pull origin 

Если вы не хотите всю историю проекта, и все, что вам нужно, это последний снимок исходных файлов, вы можете нажать кнопку «Загрузить ZIP», чтобы загрузить исходные файлы в виде архива.

Вам даже не нужно иметь учетную запись в GitHub для выполнения этих задач.

«Fork me on GitHub» Лента - это знак, который говорит миру, что он использует GitHub для совместной работы над проектом. Он просто направляет вас на страницу проекта.

+0

Спасибо! Это имеет большой смысл и, безусловно, чище, чем разветвление каждого репо, из которого я выхожу. Если вы используете ресурсы из разных источников, вы получите все из них? –

+0

Что значит «много истоков»? Вы имеете в виду много * пультов *? ** origin ** - это имя по умолчанию, которое git дает удалённому объекту, с которого вы клонировали проект. См. [Здесь] (http://git-scm.com/book/en/Git-Basics-Working-with-Remotes) и [здесь] (http://gitref.org/remotes/) для получения дополнительной информации о пультах дистанционного управления , –

+0

Хорошо, я думаю, у меня это есть. Поэтому проверьте мое понимание, если проект нуждается в reop1, repo2 и repo3, я бы сделал: $ git remote add repo1 [url], $ git remote add repo2 [url] и $ git remote add repo3 [url]. Затем периодически (или по мере необходимости) я делал $ git pull repo1, $ git pull repo2 и $ git pull repo3? –

3

На мерзавце проект может быть раздвоенным на:

  • создать новый репозиторий, содержащие функции, которые будут в конечном итоге втягиваются в основной репозиторий; это обычное использование в ядре Linux, где каждый хранитель поддерева сохраняет свое собственное репо (периодически вытягивается Линусом Торвальдсом)

  • создать репо, содержащее некоторую разницу в отношении исходного проекта, предложить дополнительную функциональность или другая конфигурация, которая не должна идти вверх по течению.

+0

Это фантастическая проницательность, спасибо. Однако, поскольку MD.Unicorn предоставил конкретную лучшую альтернативу forking, я должен принять его ответ. Я очень признателен, что вы нашли время, чтобы добавить этот уровень детализации к пониманию ответа. –

Смежные вопросы