W dobie dzisiejszej popularności systemu kontroli wersji Git, chciałem
przedstawić Tobie jak wykorzystać globalną konfigurację, aby plik
.gitignore
w dowolnym projekcie nie zawierał nadmiarowych
informacji.
Częsty problem
Wiele razy widzę, jak w projektach na GitHubie dodane są katalogi z konfiguracją edytorów, które są zupełnie niepotrzebne osobom trzecim, wykorzystującym ten projekt do własnych celów.
WebStorm i jego katalog .idea
I tak na przykład
WebStorm (edytor firmy
JetBrains) tworzy katalog
.idea
, w którym zapisuje różne ustawienia projektów.
Ten katalog jest pomocny, kiedy korzystamy z zaawansowanych
funkcjonalności edytora, na przykład wykluczania katalogów.
Proces polega na wyłączeniu z procesu indeksowania oraz wyszukiwania
dowolnych katalogów, na przykład katalogów node_modules
albo bower_components
zawierających zależności projektów.
Jak wykluczyć katalog?
Aby "wyłączyć" katalog z projektu należy kliknąć prawym przyciskiem
myszy na katalogu oraz wybrać: Mark Directory as ->
Excluded
Od tej pory wybrany katalog nie będzie brany pod uwagę przez edytor.
Informacja o tym stanie zostanie zapisana w katalogu .idea
.
Dlatego też trzeba wykluczyć katalog .idea
z systemu
kontroli wersji.
Nie ma absolutnie żadnych przesłanek, aby katalog
.idea
był wersjonowany wiec nie ma sensu dodawać go do
Gita.
Aby to zrobić programiści często w pliku .gitignore
, w
katalogu głównym projektu dodają linijkę, która wyklucza katalog
.idea
. Niestety informacja ta nie powinna znaleźć się w
pliku .gitignore
projektu, bo nie jest z nim związana,
dotyczy wyłącznie konfiguracji środowiska programisty.
Jak wykorzystać plik .gitignore
w katalogu użytkownika?
Git daje możliwość stworzenia pliku .gitignore
w katalogu
projektu, aby wykluczyć rzeczy projektowe, oraz w katalogu
użytkownika, aby wykluczyć katalogi i pliki, które zależą od wybranego
środowiska developerskiego (edytor, system operacyjny, etc.).
Informacja o wykluczeniu katalogu .idea
powinna znaleźć się
w pliku .gitignore
, który znajduje się w katalogu użytkownika.
Jeśli taki plik nie istnieje, warto go stworzyć.
Każdy system operacyjny tworzy pliki ukryte (tymczasowe), których także nie ma sensu dodawać do systemu kontroli wersji.
Nie wyobrażam sobie, że miałbym w każdym projekcie dopisywać do pliku.gitignore
informację, aby katalog.idea
był ignorowany, albo jakiś inny katalog z ustawieniami edytora, którego obecnie używam.
Jak skonfigurować globalny plik .gitignore
?
Aby skonfigurować Gita proponuję wykonać następujące polecenia:
Moja konfiguracja
Przedstawiam zawartość mojego pliku ~/.gitignore
Dodałem katalog .idea
do projektu, co robić?
Ignorowanie katalogu .idea
nie usunie go z systemu
kontroli wersji Git.
Po tym jak dodałeś w globalnym pliku .gitignore
informację
o tym, żeby Git ignorował katalog .idea
, należy
usunąć ten katalog poleceniem (będąc w katalogu projektu)
Oraz stworzyć rewizję (commit) z tą zmianą: