Сховища
Якщо ви вважаєте, що репозиторії dir, які працюють у dit, де ви перевіряєте свої точкові файли, у вас буде більше одного. Але для інтеграції вам не потрібні декілька сховищ git - цього достатньо. (Якщо у вас є доступ до інших домашніх каталогів, ви навіть не потребуєте цього, але один простий репо, який можна отримати з усіх перевірок, зазвичай є найпростішим способом.)
Стратегії
В основному ви можете працювати в одній гілці і розрізняти середовища без допомоги git і використовувати git тільки для відстеження та спільного використання змін. Або ви зберігаєте девіантні зміни в гілках. Деталі:
1 Відділення
Ви працюєте над однією галуззю та підтримуєте її в усіх середовищах. Для відмінностей використовують інші механізми, напр.
- для точкових файлів, які є фактично скриптами,
if
В залежності від навколишнього середовища можна робити речі, які виконуються в одному середовищі, а не в інших
- dot-файли в директорії git зазвичай пов'язані з символічними посиланнями на їхні потрібні місця в домашньому каталозі: налаштуйте їх так, щоб правильні файли були пов'язані, якщо існує кілька варіантів
- генерування файлів з одного джерела за допомогою препроцесора також може бути варіантом, особливо якщо відбуваються поточні зміни з різних середовищ і зміни для всіх середовищ у одному файлі (файлах)
n Відділення
У головної гілки (майстра) були зміни, які регулярно йдуть. Кожне середовище має свою гілку, яка повинна відображати файли для цього середовища. Основна гілка може бути однією з середовищ, якщо це було, як правило, ви працюєте, а інші середовища - ті ж + модифікації. Основна гілка також може бути незалежною, але якщо кожне середовище відрізняється від нього, як ви перевіряєте вміст основної гілки?
Зміни, характерні для середовища (тобто, де вони відрізняються від вашої основної гілки), можуть бути введені в галузь цього середовища. Тепер, у курсі основної гілки, значить, ви git merge
зміни від основної галузі до всіх галузей навколишнього середовища. Ви не git merge
вони повертаються в основну гілку, тому що це призведе до відмінностей у головну гілку. (Якщо ви внесли зміни у середовище, яке ви хочете мати в основній гілці - але не всі - git cherry-pick
дозволяє застосувати ці зміни окремо.)
Який з них використовувати
Подивіться на ваші файли та їх відмінності, щоб вирішити, який шлях. The Російська гілка Стратегія обмежує потребу в додаткових інструментах, але ефективно у вас є n різних версій і використовуйте git tooling, щоб їх синхронізувати, але різні. (Це може бути випадок “якщо все, що у вас є молоток, все виглядає як цвях”.) 1 філія Стратегія визначає одне джерело для вашої конфігурації і використовує git тільки як розподілену систему контролю версій, вам можуть знадобитися додаткові скрипти для налаштування, попередньої обробки і т.д.