.gitconfig
jest zwykle przechowywany w user.home
katalogu.
Używam innej tożsamości do pracy nad projektami dla Firmy A i czegoś innego dla Firmy B (głównie nazwa / adres e-mail). Jak mogę mieć dwie różne konfiguracje Git, aby moje zameldowania nie przebiegały z nazwą / adresem e-mail?
git
git-config
priya
źródło
źródło
[user] email = ...
bloku, zastąpi globalną~/.gitconfig
- a to tylko dla twojego użytkownika?Istnieją 3 poziomy konfiguracji git; projekt, globalny i systemowy.
Utwórz konfigurację specyficzną dla projektu, musisz wykonać to w katalogu projektu:
Utwórz konfigurację globalną:
Utwórz konfigurację systemu:
I jak można się domyślać, projekt zastępuje globalny i globalny system zastępuje.
źródło
git config user.name
czygit config user.email
pokaże nazwę lub napisz Git użyje bieżącego respository.Począwszy od wersji 2.13 git, git obsługuje konfigurację warunkową . W tym przykładzie sklonowaliśmy repozytorium Firmy A w
~/company_a
katalogu, a repozytorium Firmy B w~/company_b
.W swoim
.gitconfig
możesz umieścić coś takiego.Przykładowa zawartość pliku .gitconfig-company_a
Przykładowa zawartość pliku .gitconfig-company_b
źródło
Dzięki @ crea1
Mały wariant:
Jak napisano na https://git-scm.com/docs/git-config#_includes :
Więc używam w moim przypadku
~ / .gitconfig :
Więc jeśli katalog projektu znajduje się w moim
~/wokspace/
, domyślne ustawienia użytkownika są zastępowane przez~ / .gitconfig-w :
źródło
git config user.name
zwróci prawidłowy, powinien być w porządku. Czy korzystasz z systemu GNU / Linux lub innego systemu operacyjnego?Mówiąc wprost, możesz także
--local
użyć bieżącego pliku konfiguracyjnego repozytorium :źródło
Możesz także wskazać zmienną środowiskową
GIT_CONFIG
na plik, którygit config
powinien zostać użyty. ZGIT_CONFIG=~/.gitconfig-A git config key value
podanym plikiem zostaje zmanipulowany.źródło
Robię to dla mojego e-maila w następujący sposób:
Następnie, gdy sklonuję nowy projekt roboczy, muszę tylko uruchomić
git hobbyprofile
i zostanie on skonfigurowany do używania tego e-maila.źródło
Innym sposobem jest użycie direnv i oddzielenie plików konfiguracyjnych dla każdego katalogu. Na przykład:
Każdy
.envrc
powinien zawierać coś takiego:I
.gitconfig
jest zwykle gitconfig z pożądanymi wartościami.źródło
Możesz dostosować konfigurację Git projektu, zmieniając plik konfiguracyjny specyficzny dla repozytorium (tj
/path/to/repo/.git/config
.). BTW,git config
domyślnie zapisuje do tego pliku:Wolę utworzyć osobne profile dla różnych projektów (np. W
~/.gitconfig.d/
), a następnie dołączyć je do pliku konfiguracyjnego repozytorium:Działa to dobrze, jeśli trzeba użyć tego samego zestawu opcji w wielu repozytoriach należących do jednego projektu. Możesz także skonfigurować aliasy powłoki lub niestandardowe polecenie Git do manipulowania profilami.
źródło
Jestem na tej samej łodzi. Napisałem mały skrypt bash, aby nimi zarządzać. https://github.com/thejeffreystone/setgit
źródło
-s
jest również obsługiwane w skrypcie Bash.Wystąpił błąd podczas próby wprowadzenia
git stash
lokalnych zmian. Błąd z git brzmiał „Powiedz mi, kim jesteś”, a następnie powiedział „Uruchomgit config --global user.email "[email protected]
igit config --global user.name "Your name"
ustaw domyślną tożsamość konta”. Musisz jednak pominąć opcję --global, aby ustawić tożsamość tylko w bieżącym repozytorium.źródło