Witam.
Potrzebuje fachowej porady, może najpierw napiszę co chce osiągnąć.
Do tej pory rozwiążywałem to tak:
server production (repo master) -> server staging (origin) -> {dev1 | dev2 | ....}
Ogólnie wszystko okej, deveoperzy przekazują zmiany do "Origin", tam są testowane a potem przekazywane do Master.
Pojawił mi się taki oto problem:
Serwer Produkcyjny zawiera dane które muszą być śledzone przez repozytorium:
- A
- B
- C
- D
Na serwerze Rozwojowym ma być tylko widoczne
- A
- D
Dalej developerzy sciągając repozytorium do siebie maja tylko działać na tym A i D
Myślałem o tym że jak ma serwerze rozwojowym sklonuje master i zrobię commita z wykluczeniem (ignorowanie) plików we wskazanych lokalizacjach w taki sposób by nie ślidził w nich zmian to rozwiąże to mój problem.
Ale nie rozwiązuje ponieważ nie może być dostępu do B i C. Miało by to sens gdybym zrobił tak na Master ale myślę że wówczas Git nie będzie mi śledził zmian w B i C. Myślałem o utworzeniu brancha który będzie zawierał tylko A i D a na Origin robić clona do niego. Ale przy każdym wgrywaniu zmian musiałbym tego brancha łączyć z masterem - średnio to widzę. Może utworzyć repozytorium ograniczone (bez B i C) a następnie utworzyć branch i dołączyć B i C. Wówczas clon z master nie będzie miał B i C ale na produkcyjnym musiało by być ustawione domyślne na utworzony branch aby skrypty działały poprawnie.
Chodzi o to że na produkcji są pewne dane, które nie mogą się znaleźć nigdzie indziej. Być może można to jakoś inaczej łatwiej rozwiązać. Wszelkie propozycje mile widziane.