2013-01-11 11 views
5

Próbuję użyć git do zarządzania wdrożeniem w mojej witrynie na żywo. Problem polegający na tym, że mam kilka plików ustawień, których nie chcę aktualizować, gdy naciskam na produkcjęużyj git smudge/clean, aby zastąpić zawartość pliku

to, czego szukam, to użycie haka lub smugi/czyste, aby zmienić zawartość plików na przykład z

<?php 
define('DB_NAME', 'live'); 
define('DB_HOST', '127.0.0.1'); 
define('DB_USER', 'live_user'); 
define('DB_PASS', 'livePass'); 

do

<?php 
define('DB_NAME', 'local'); 
define('DB_HOST', '127.0.0.1'); 
define('DB_USER', 'local_user'); 
define('DB_PASS', 'localPass'); 

Czy jest ktoś, kto mógłby mówić do mnie przez proces prosimy

Zastanawiałem się, czy użyć haka po otrzymaniu i skryptu powłoki, aby zastąpić zawartość, ale najlepiej chcę, aby zawartość repo zmieniła się, zanim uruchomię git checkout -f nie zmieniony w żywym egzemplarzu po

Odpowiedz

6

idealnie chcę zawartość w repo być zmieniane przed biegnę git checkout -f nie zmieniło w kopii żywo po

najbliższa jest kierowca zawartość filtr, który zastąpi wartość nagit checkout .

smudge

(od Scott Schacon „s Pro Git book strona na Git Attributes: Section "Expansion słów kluczowych")

Więc w twoim przypadku: filtr rozmazywanie, zadeklarowane w pliku .gitattributes.

Patrz „Can git automatically switch between spaces and tabs?”, z wyjątkiem chcesz użyć sed do zastąpienia lokalnych żyć (jak w this example)

+0

dziękuję za szybką odpowiedź, więc aby wyjaśnić czy jest jakiś specyficzny identyfikator typu skryptu, czy będzie on działał, czy mój serwer będzie działał? Jeśli tak jest, to jak to wchodzi w interakcje z plikami w repozytorium, nie rozumiem związku, a zatem, co muszę zrobić, aby zaktualizować pliki –

+0

@ MattSmokey-watersHolmes możesz zadeklarować skrypt lub użyć polecenia bezpośrednio w smudze deklaracja. W twoim przykładzie wystarczy prosty "sed". – VonC

+0

-1 za kradzież zdjęć bez podania źródła. –

0

myślę, trzeba czytać temat Customizing Git - Git Attributes w Git książce od początku do końca, aby mieć pełny obrazek, ale szczególnie dokładnie sprawdza część "Rozszerzenie słów kluczowych", gdzie niestandardowe ręczne skrypty służyły do ​​ukrywania KEYWORD w repozytorium do TEKSTU KOŃCOWEGO w Katalogu roboczym (i odwrotnie). Są dowolny kod, które mogą być realizowane na hoście z Working Directory, odwołuje się od .gitattributes złożyć

Uwaga: Bo trzeba mieć różną moc oczyszczenia filtra (na lokalny i na żywo), można mieć dwa nieznacznie różniące się (w treści) czyste skrypty na lokalnym i live WorkingDir pod wspólną nazwą pliku (w przykładowej książce czysty wynik równy dla wszystkich lokalizacji - używany pojedynczy skrypt).

Powiązane problemy