Форкинг проекта по процессу Github


25

На Github есть проект, который мне больше всего нравится и который я хочу использовать. Есть несколько вещей, которые я хочу сделать по-другому / удалить, которые не имеют смысла для того, что я хочу / нужно. Также я хочу добавить несколько вещей.

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

Я вне базы того, как я думаю, что это должно работать? Как внести изменения по сравнению с первоначальным проектом?


1
Вы можете найти это полезным: stackoverflow.com/questions/3329943/…
Майкл Даррант

Ответы:


18

Сделайте вилку, затем немедленно сделайте ветку.

Теперь у вас есть «нетронутый» мастер, который можно обновлять самостоятельно, чтобы получать последние изменения с помощью git pulls.

Держите филиал локальным, не нажимая на удаленный, и вы можете делать rebases, которые будут делать для вас следующее:

  • сохранить ваши изменения
  • применить последние изменения от мастера к вашей ветви (те, которые пришли из обновления с удаленного)
  • Снова примените ваши изменения поверх кода, который был обновлен с master (или другой оригинальной ветки).

Когда вы, наконец, покончили с этим, поместите его обратно в master (или в любую ветвь, из которой исходный форк) был локально, а затем отправьте запрос на извлечение для фактического владельца, чтобы получить его.

В любом случае, это один рабочий процесс (или "forkflow"), насколько я понимаю. Другие могут комментировать или исправить или добавить более подробную информацию.


3
Это кажется немного не по теме. В нем рассматривается «как» без особого объяснения того, что вы делаете, и избегается вопрос этикета. Вы можете улучшить это, предоставив общий обзор того, что вы делаете, и объяснив, почему это хорошо делать так.
Джастин Морган

10

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

Я думаю, что главное, что вам нужно сделать, это немедленно создать ветку после разветвления, чтобы отделить исходную линию разработки от вашей собственной. Развиваетесь ли вы в этой отрасли или в магистратуре - во многом вопрос личного вкуса. Единственное, что мешало бы мне развиваться в мастерской, это то, что слишком легко сделать «мерзавец» и получить неправильную вещь.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.