У меня есть приложение OSX, которое я создал на питоне. Как и многие приложения OSX, в нем есть много (всех?) Его зависимостей. например ...forking git project для разных ОС
./git_repo
└── mac (dir)
├── myapp.app (dir)
│ ├── Frameworks (dir)
│ ├───MacOS (dir)
│ ├───Resources (dir)
│ │ ├──main.py
│ │ ├──lib1.py
│ │ ├──lib2.py
├─img(dir)
Структура каталогов намного больше, чем это, с большим количеством файлов в каждой директории, но вы получите идею
Моей первой вилки будет для Linux, в котором мне нужно основной. py, lib1.py, lib2.py и img. Мне больше ничего не нужно в директории Resources или любом другом каталоге. Я также буду добавлять конкретные файлы Linux, которые не требуются для mac. Общая структура dir будет намного более плоской, чем структура mac.
После этого я буду разворачиваться для Windows, с файлами, которые я перечислил для Linux, и некоторыми специальными файлами Windows, не требуемыми для mac/linux.
Я прочитал похожие темы здесь, но не могу представить, как будет работать общая структура каталогов. Я вижу пару вариантов.
- Используйте отдельные Git ветви и слияния/вишневого пикап изменения в случае необходимости (это может быть трудно, как структура каталогов всего 3 будет совершенно иной
- Использование Git подмодуль - начитались до об этом, но не уверена, какие компоненты я должен сделать подмодули - общие элементы, или дополнительные
- использовать отдельные хранилища - не уверен, если это любой других филиалы
в конце концов я просто необходимо отслеживать изменения для тех, кто главного файлов для всех 3 ОС, сохраняя изменяется отдельно и без необходимости предпринимать огромные шаги при работе с конкретной ОС/ветвью (например, файл make и т. д.)
Каков наилучший способ достижения этого? Спасибо за чтение