Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Git - ignorowanie plików ze śledzeniem zmian?
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
Revers
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.
Pyton_000
Skoro na produkcji są dane które nie mogą nigdzie trafić to należy je wyłączyć spod kontroli repozytorium i nie wersjonować ich.

Przykład. config do BD lokalnej i prod.
Revers
Tak ale na produkcji chciałbym mieć te pliki pod kontrolą bo z doświadczenia wiem, że zawsze się znajdzie jakiś debil, który przez FTP będzie próbował coś zmieniać. A mając repozytorium szybciej znajdę co zostało zmienione niż porównując np pliki z jakimś backupem.

Choć nie jestem pewny co do kwestii tego że jak utworzę pełne repozytorium dodam wszystkie foldery i pliki, to jak później ustawię aby ignorował te pliki i foldery to czy w tym pierwszym commicie nie będę miał przypadkiem tych folderów i plików, ze w razie czego będę mógł je bez problemu przywrócić ?

Ostatecznie mogę zrobić tak. Utworzyć repozytorium z wykluczeniem B i C, natomiast w B utworzyć inne repozytorium i to samo zrobić w C. Nie jest to zbyt estetyczne rozwiązanie ale puki co nic innego mi nie przychodzi do głowy.


A może użyć zdalnych repozytoriów i to przebudować.

Produkcja (master),
Staging (zdalne repo)

na Produkcji utworzyć sobie skrót do staging i w razie potrzeby zgrwać z niego zmiany.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.