Jak skonfigurować e-mail w zależności od katalogu, w którym znajduje się repozytorium
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:
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.
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