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

Opublikowane przez Tomasz Prasołek w dniu

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 🙂


3 Komentarze

Piotr · 13 stycznia 2019 o 23 h 54 min

Więcej skopiować się nie dało z kursu gita od Aniserowicza ….

    Tomasz Prasołek · 15 stycznia 2019 o 9 h 55 min

    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.

dotnetomaniak.pl · 9 stycznia 2019 o 6 h 17 min

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

Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *