Jak skonfigurować e-mail w zależności od katalogu, w którym znajduje się repozytorium

marius-christensen-708620-unsplash-small

W tym wpisie omówię ogólnie konfigurację gita, gdzie ona się znajduje. Dodatkowo pokażę, jak skonfigurować, aby adres e-mail był brany warunkowo, w zależności od tego w jakim katalogu znajduje się projekt.

Konfiguracja lokalna i globalna

Konfiguracja gita znajduje się na 3 poziomach. Te poziomy to:

  • Systemowy – jeden dla wszystkich, dla całego systemu operacyjnego.
  • Użytkownika – jeden per użytkownik.
  • Lokalny – na poziomie każdego repozytorium.

Po instalacji Gita na komputerze, konfigurujemy e-mail w konfiguracji użytkownika i o tym zapominamy.

Kiedy może Nam się przydać automatyczna zmiana adresu e-mail w projekcie? Kiedy na jednym komputerze pracujemy nad projektami prywatnymi i służbowymi. Wtedy łatwo zapomnieć, że przydałoby się skonfigurować inny adres e-mail dla projektów prywatnych, a inny dla służbowych.

Konfiguracja warunkowa

Można jednak pozbyć się tego problemu konfigurując e-mail w zależności od katalogu, w którym znajduje się projekt. Na swoim prywatnym komputerze mam skonfigurowany taki e-mail:

git config private email

Załóżmy, że również z prywatnego komputera pracuję nad projektami służbowymi (oczywiście nigdy tak nie robię 🙂 ). W takim wypadku robię na projekty służbowe odpowiedni katalog np. _ProjektySluzbowe. Cala ścieżka do katalogu będzie wyglądała tak: C:\Tomek\_ProjektySluzbowe\. Zrobiłem w tym katalogu przykładowy projekt i jak sprawdzam lokalnie skonfigurowany email to dostaję ten prywatny.

Aby dla projektów z tego katalogu był skonfigurowany inny adres e-mail trzeba zrobić 3 rzeczy:

  • Dodać plik .gitconfig-work w katalogu, gdzie znajduje się konfiguracja użytkownika. U mnie to będzie katalog C:\Users\Tomasz\. Nazwa pliku jest dowolna, jeśli np. innego e-maila używamy do projektów open source plik można nazwać .gitconfig-oss.
  • Wpisać do tego pliku konfigurację dla emaila prywatnego.
  • Dodać warunek w konfiguracji użytkownika.

Jednak w systemie Windows ciężko stworzyć plik bez nazwy, tylko z samym rozszerzeniem, więc zrobię to wszystko z konsoli. Stworzę plik wraz z odpowiednim wpisem:

git config -f ~/.gitconfig.work user.email tomasz.prasolek@work.com

Plik z zawartością już istnieje. Teraz do konfiguracji użytkownika(plik .gitconfig) trzeba dodać:

 [includeif "gitdir:C:/Tomek/_ProjektySluzbowe/"]
	path = .gitconfig.work

I to tyle 🙂 Pierwsza linia to warunek, ze ścieżką do katalogu z projektami służbowymi. Druga linia to ścieżka do pliku, z którego ma wgrać konfigurację. Przy sprawdzenie adresu e-mail widać teraz adres służbowy.

work repo work email

Z racji tego, że w pliku .gitconfig-work znajduje się wpis tylko o adresie e-mail, to nadpiszę tylko tę jedną wartość. Można oczywiście wykorzystać ten mechanizm wedle własnych potrzeb i skonfigurować więcej opcji.

Podsumowanie

W ten prosty sposób można raz skonfigurować email prywatny i służbowy i zapomnieć o całej tej sprawie. Nigdy więcej już nie zrobimy commita w prywatnym repozytorium z emailem służbowym i odwrotnie 🙂

Jeśli spodobał Ci się ten wpis i chcesz otrzymywać powiadomienia o nowych treściach dotyczących zagadnień związanych z Gitem, to zachęcam do subskrypcji mojego bloga.

3 thoughts on “Jak skonfigurować e-mail w zależności od katalogu, w którym znajduje się repozytorium

  1. Pingback: dotnetomaniak.pl
    1. Fakt, dowiedziałem się o tym pierwszy raz właśnie na kursie u Maćka Aniserowicza. Jednak to nie jest wiedza tajemna, można ją również znaleźć w internecie. Wpiszesz w Googlu “git conditional config” i znajdziesz to samo info z podobnymi przykładami.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *