c0ffee.pl

o kodzie przy kubku kawy

Witaj na moim blogu! Jestem Kamil, na codzień zajmuje się pisaniem kodu w Javie (i nie tylko). Więcej o mnie możesz znaleźć na mojej stronie.

Automatyczne zarządzanie konfiguracjami Git

Automatyczne zarządzanie konfiguracjami Git

Po długiej przerwie czas na kolejny post. ;-) Tym razem kilka słów o zarządzaniu konfiguracjami Gita w zależności od katalogu w którym pracujemy. Szczególnie przydatne w przypadku podziału na projekty “firmowe” oraz prywatne.

Do napisania postu skłoniło mnie przejrzenie commitów w firmowym repozytorium. Okazało się, że commity z ustawionym prywatnym adresem e-mail (zamiast firmowym) pojawiały się całkiem często.

Jak więc skonfigurować Gita, aby nie musieć myśleć o tym czy wprowadziliśmy dobrą konfiguracje? Okazuje się, że bardzo prosto - zacznijmy od plik ~/.gitconfig, który uzupełniamy następująco:


# ~/.gitconfig
[user]
    name = Imię Nazwisko
    email = email@prywatny.tld

[includeIf "gitdir:~/praca/"]
    path = ~/praca/.gitconfig

Na początku pliku umieszczamy domyślną konfiguracje - będziemy ją nadpisywać w oddzielnych plikach na podstawie katalogu w którym się znajdujemy. Jak to zrobić widzimy w przedostatniej linii - dzięki niej dla wszystkich repozytoriów w katalogu ~/praca będzie używana konfiguracja Gita zawarta w pliku ~/praca/.gitconfig. Przejdźmy więc do tego pliku i uzupełnijmy go następująco:


# ~/praca/.gitconfig
[user]
  email = email@firmowy.tld

Widać, że jedyną zmianą będzie e-mail - w przypadku gdy nie zmieniamy nazwy autora to możemy pominąć odpowiadająca linie konfiguracji.

Pozostało nam jeszcze skonfigurowanie klienta SSH, tak aby w przypadku firmowych repozytoriów korzystał on z innego klucza. W tym celu w ~/.ssh/config wprowadzamy następującą konfiguracje:


Host gitlab.firmowy.tld
        IdentityFile ~/.ssh/firmowyKlucz
        User git

Dzięki temu do logowania, w przypadku serwera firmowego, będziemy wykorzystywać określony klucz.

I tyle - dzięki tej prostej konfiguracji życie z Gitem staje się prostsze i przyjemniejsze. ;-)

Opublikowano:
comments powered by Disqus

Wszystkie wpisy, które tutaj znajdziesz są pod licencją CC BY-NC 4.0.

Strona korzysta z ciasteczek. Po więcej informacji zajrzyj w pomoc dostarczaną przez producenta Twojej przeglądarki.