Za każdym razem, gdy rozpoczynam pracę z projektem, muszę skonfigurować Git, aby repozytorium nie zawierało zbędnych plików.
Cała operacja jest wykonywana w kilku krokach, gdzie pierwszym z nich będzie stworzenie nowej aplikacji rails na naszym komputerze. Następnie musimy zaiinicjować kontrolę wersji.

Wydanie komendy git status pokazało nam całą strukturę aplikacji, która nie jest objęta kontrolą wersji. Zanim dodamy, powinniśmy wyłączyć kilka plików. Po pierwsze w repozytorium nie potrzebujemy plików dzienników („logów”), które znajdują się w folderze log. Aby je wyłączyć musimy stworzyć plik .gitignore i dodać linijkę log/*.log.

Ponowne sprawdznie statusu pozwoli nam zauważyć zmianę, która zaszła w repozytorium.

Folder log zniknął z listy plików do dodania. Problem polega na tym, że klonująć potem repozytorium, otrzymamy jest bez tego folderu. Gdy uruchomimy aplikację, będą problemy z jej działaniem, ponieważ w tym folderze logi muszą być zapisywane.
Naszym zadaniem zatem jest ustawienie repozytorium tak, aby sam folder znajdował się w nim, a ignorowana powinna być jedynie jego zawartość. Cała powyższa sytuacja dzieję się tak dlatego, że system Git nie śledzi pustych folderów. Wyjściem z tej sytuacji jest trick, polegającym na dodaniu pliku .gitignore w folderze log. Folder nie będzie pusty, a jednocześnie dodany plik, nie będzie miał wpływu na nasz projekt.

Na powyższym listingu widać, że osiągnęliśmy zamierzony efekt. Podobny problem występuje w folderze tmp, którego zawartość również powinna być ignorowana, nie ignorując samgo folderu. Nauczeni powyższym doświadczeniem dodajemy plik .gitignore w tym katalogu, a w .gitignore znajdującym się w głównym folderze aplikacji dopisujemy tmp/**/*. Co oznacza ignorowanie wszystkich plików nawet w podfolderach.
Warto również zignorować dwa foldery z dokumentacją, które niepotrzebnie zajmują miejsce w repozytorium. Po dopisaniu dwóch linijek w głównym pliku .gitignore, powinien on zawierać taką treść:

Teraz możemy dodać wszystkie pliki i wykonać początkowe zatwierdzenie.

W praktyce warto przenieść zewnętrzną bibliotekę rails, wewnątrz aplikacji, co pomoże w późniejszym uruchamianiu projektu na serwerze produkcyjnym. Aby to zrobić musimy wykonać komendę rake rails:freeze:gems co spowoduje przeniesienie całego frameworka, do folderu vendor/rails. Aplikacja przeszukuje ten folder w pierwszej kolejności i dopiero gdy go nie znajdzie, to szuka po zainstalowanych w systemie gemach.
Po wykonaniu powyższej komendy wystarczy zatwierdzić kolejną zmianę.

Teraz nie pozostaje nic innego niż rozpoczęcie pracy nad projektem.

W sumie nie stoi nic na przeszkodzie, aby powyższy zaimplikować w Rails Template, ale o tym jak to się robi, napiszę już niedługo.
.