Razbezhkin
@Razbezhkin
программист, преподаватель

Как модифицировать обновляемый клон чужого проекта?

Здравствуйте. подскажите пожалуйста, как решить такую задачу.
Есть открытый репозиторий некоторого проекта в github, который регулярно обновляется его авторами.
Я хочу клонировать себе этот репозиторий и переписать один файл с исходным кодом.
Репозиторий регулярно обновляется и мне нужно, чтобы я мог обновлять свой клон и при этом чтобы измененный мной файл оставался моим, т.е. не затирался из исходного (склонированного) репозитория.
Как такое организовать? какими командами гита?

Спасибо за подсказку.
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
Клонируйте оригинальный репозиторий. В клоне заведите собственную ветку, в нее вносите свои изменения.
Когда авторы обновят свой репо обновляйте master клона из оригинального репозитория, затем делайте rebase своей ветки на новый мастер с разрешением конфликтов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
Нельзя так делать. А если поменяется файл так, что с другими файлами уже работать не сможет? Грубо говоря меняются методы/апишка и все такое - и вот уже ваш файл полностью несовместим с остальным проектом.
Обычного мержа хватит, но придется контролировать руками конфликты. Ну и вносить изменения минимально модифицируя сам исходный файл (зависит от языка, архитектуры и еще кучи вещей)
Ответ написан
sergey-kuznetsov
@sergey-kuznetsov
Автоматизатор
Самый простой способ обновления:
git pull --rebase
Ваш коммит с изменённым файлом будет вставать каждый раз поверх обновлённого main.
В случае конфликта — разрешаете его и потом
git add ваш файл
git rebase --continue

Никакие дополнительные ветки не нужны.
Это если вы ничего не утаили в вопросе.
С форком например, а не клоном, последовательность операций слегка другая.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы