Лучший рабочий процесс при разветвлении и переименовании проекта GitHub
Я пытаюсь найти лучший рабочий процесс для работы с вилкой существующего проекта с открытым исходным кодом в Github. Я хочу взять существующий проект и внести в него существенные изменения, в этом случае переносить его на андроид и добавлять специальные функции только для Android. Я хотел бы удовлетворить следующее:
- Уметь переносить изменения из своего публичного репо на новый порт андроида при обновлении исходного кода.
- Уметь удалять изменения (через запросы на pull) в исходный проект, когда я исправляю ошибки, которые не только применимы к порту android.
- У вас есть отдельная переименованная версия проекта, чтобы было ясно, что это порт Android. Я посмотрел на переименование вилки, и Гитуб дал мне огромные предупреждения об этом.
Мои первоначальные мысли: я бы раскошелил исходный проект, а затем вилку и переименовал свою вилку, чтобы дать мне следующие репозитории:
original-author/projectA
nicstrong/projectA
nicstrong/projectA-android
Это позволило бы мне работать с локальными локальными репо/projectA-андроидными изменениями на nicstrong/projectA-android. Затем, чтобы обновить исходный проект, я мог бы переконфигурировать nicstrong/projectA до последней версии от оригинала-автора/projectA, а затем извлечь/слить из nicstrong/projectA в local/projectA-android.
Мои вопросы:
- Я совершенно новый для всего Git
вещь. Кажется ли это хорошим
подход? Или есть лучше
рабочий процесс для обработки этого scenerio?
- Как я буду обрабатывать нажатие
projectA-android обратно в nicstrong/projectA, чтобы я мог настроить запрос на тягу для исходного проекта?
Ответы
Ответ 1
1/Да, это самый безопасный подход, так как любая модификация, которую вы заканчиваете обратно-переносить в nicstrong/projectA
, будет в проекте с той же структурой, что и original-author/projectA
.
Это означает, что запросы на загрузку будут проще организовать, так как вы будете в проекте, отражающем исходный авторский проект.
2/Если у вас массивный рефакторинг происходит в nicstrong/projectA-android
, я бы сделал ветвь backport
, тщательно объединил или вишнёв, чтобы выбрать то, что вам нужно, от многочисленных изменений в ветке backport
, а затем нажмите ветвь до nicstrong/projectA
.
(это означает, что вы добавили nicstrong/projectA
в качестве удаленного устройства nicstrong/projectA-android
)
Ответ 2
Название репозитория git сильно зависит от имени пульта. Идите и клонируйте его, а затем просто добавьте новый пульт (другим именем) и начните нажимать туда. В этот момент, конечно, вы можете продолжить и изменить название каталога проекта без проблем.