Как организовать работу в Git-репозиторий если регулярно получаешь обновленные исходники?
Мне дали исходники проекта (только исходные файлы, а не доступ к приватному репозиторию). Из этих исходников я сделал свой репозиторий в котором работаю с кодом. В оригинальном проекте регулярно выходят новые версии исходников, изменения из которых мне надо сливать в свой проект. Как лучше всего это организовать? Проект огромный на много тысяч файлов.
В каком виде вы получаете регулярно получаете исходники ?
Я бы сделал репозиторий для исходников, склонировал бы его и вносил изменения в клон, а репозиторий с исходниками назначил родителем.
Ну вот есть программа на Python. Нам дали ее исходники из которых мы сделали репозиторий. Меняем некоторые функции под себя и кое что дописываем. Через какое то время выходит новая версия этой программы и нам снова дают исходники (только исходники, без доступа к их репозиторию) и мы должны изменения из этих исходников применить к нашему репозиторию.
Попробуем сделать именно так. В нашем случае проблема была вот в чем:
В исходниках были файлы: 1, 2, 3
Мы добавили к ним файл А и из этого уже сделали репозиторий в котором были файлы (1, 2, 3, А).
После того как мы получили новую версию с файлами 1, 2, 3, 4, мы создали новую ветку, удалили в ней все (1, 2, 3, А) и залили новые файлы (1, 2, 3, 4) и в коммите отметилось, что файл А необходимо удалить. После мержа мы естественно столкнулись с проблемой того что файл А удалялся.
Наша ошибка была в том, что исходный репозиторий мы сделали не из чистых исходников, а из исходников с некоторым количеством наших правок. Сейчас, получается, надо создать новый репозиторий. Залить наши изменения в ветку master, и от исходного коммита сделать новую фетку куда кидать новые исходники полученные нами. Тогда по идее гит поймет, что файл A удалять не надо.