.gitconfig
biasanya disimpan dalam user.home
direktori.
Saya menggunakan identitas yang berbeda untuk mengerjakan proyek untuk Perusahaan A dan sesuatu yang lain untuk Perusahaan B (terutama nama / email). Bagaimana saya bisa memiliki dua konfigurasi Git yang berbeda sehingga check-in saya tidak sesuai dengan nama / email?
git
git-config
priya
sumber
sumber
[user] email = ...
blok, akan menimpa global~/.gitconfig
- dan ini hanya untuk pengguna Anda?Ada 3 level konfigurasi git; proyek, global dan sistem.
Buat konfigurasi khusus proyek, Anda harus menjalankan ini di bawah direktori proyek:
Buat konfigurasi global:
Buat konfigurasi sistem:
Dan seperti yang Anda duga, project menimpa sistem global dan global.
sumber
git config user.name
ataugit config user.email
akan menunjukkan kepada Anda nama atau email yang akan digunakan Git untuk tempat penyimpanan saat ini.Pada git versi 2.13, git mendukung konfigurasi bersyarat termasuk . Dalam contoh ini kita mengkloning repo Perusahaan A di
~/company_a
direktori, dan repo Perusahaan B di~/company_b
.Di Anda,
.gitconfig
Anda dapat menempatkan sesuatu seperti ini.Contoh konten .gitconfig-company_a
Contoh konten .gitconfig-company_b
sumber
Terima kasih @ crea1
Varian kecil:
Seperti yang tertulis di https://git-scm.com/docs/git-config#_includes :
Jadi saya gunakan dalam kasus saya,
~ / .gitconfig :
Jadi, jika direktori proyek ada di saya
~/wokspace/
, pengaturan pengguna default diganti dengan~ / .gitconfig-w :
sumber
git config user.name
kembali yang benar, itu harus ok. Apakah Anda di bawah GNU / Linux atau OS lainnya?Secara eksplisit, Anda juga dapat menggunakan
--local
untuk menggunakan file konfigurasi repositori saat ini :sumber
Anda juga bisa mengarahkan variabel lingkungan
GIT_CONFIG
ke file yanggit config
harus digunakan. DenganGIT_CONFIG=~/.gitconfig-A git config key value
file yang ditentukan akan dimanipulasi.sumber
Saya melakukan ini untuk email saya dengan cara berikut:
Kemudian ketika saya mengkloning proyek kerja baru, saya hanya perlu menjalankan
git hobbyprofile
dan itu akan dikonfigurasi untuk menggunakan email itu.sumber
Cara lain adalah dengan menggunakan direnv dan untuk memisahkan file konfigurasi per direktori. Sebagai contoh:
Masing
.envrc
- masing harus berisi sesuatu seperti ini:Dan
.gitconfig
gitconfig biasa dengan nilai yang diinginkan.sumber
Anda dapat menyesuaikan konfigurasi Git proyek dengan mengubah file konfigurasi khusus repositori (yaitu
/path/to/repo/.git/config
). BTW,git config
menulis ke file ini secara default:Saya lebih suka membuat profil terpisah untuk proyek yang berbeda (misalnya dalam
~/.gitconfig.d/
) dan kemudian memasukkannya dalam file konfigurasi repositori:Ini bekerja dengan baik jika Anda perlu menggunakan set opsi yang sama dalam beberapa repo yang dimiliki oleh satu proyek. Anda juga dapat mengatur alias shell atau perintah Git khusus untuk memanipulasi profil.
sumber
Saya di kapal yang sama. Saya menulis skrip bash kecil untuk mengelolanya. https://github.com/thejeffreystone/setgit
sumber
-s
tidak ditangani dalam skrip Bash Anda.Saya mengalami kesalahan saat mencoba
git stash
perubahan lokal saya. Kesalahan dari git mengatakan "Tolong beritahu saya siapa Anda" dan kemudian katakan kepada saya untuk "Jalankangit config --global user.email "[email protected]
dangit config --global user.name "Your name"
untuk menetapkan identitas default akun Anda." Namun, Anda harus Abaikan --global untuk mengatur identitas hanya di repositori Anda saat ini.sumber