Git config --global nerede yazılır?


1024

Bir git config --globalşeyleri ayarlamak için kullanırken, hangi dosyaya yazacak?

Misal:

git config --global core.editor "blah"

Bu yerlerde bulamıyorum:

C:\Program Files\Git\etc\gitconfig

C:\myapp\.git\config

Bir ENV belirlemedim?

Git sürümüm: 1.6.5.1.1367.gcd48 - Windows 7'de


1
Msysgit veya başka bir şey mi kullanıyorsunuz?
codeguru

359
git config --global --editne tür bir kuruluma sahip olursanız olun, size tam konumu söylemeniz yeterlidir; düzenleyicinizde hangi dosyanın olduğuna bakın.
MatrixFrog

55
git config --global --listgit'in beklediği yerin konumunu verdiği için mevcut olmadığında da kullanışlıdır.
AJP

4
@AJP: Bu tam olarak benim sorunum, ama kaydetmek / okumak istediği yeri nasıl değiştirebilirim ??
Stijn de Witt

1
git config --list
show

Yanıtlar:


1238

Güncelleme 2016: git 2.8 (Mart 2016) ile şunları kullanabilirsiniz:

git config --list --show-origin

Git 2.26 (Q1 2020) ile bir --show-scopeseçenek ekleyebilirsiniz

git config --list --show-origin --show-scope

Hangi yapılandırmanın nerede ayarlandığını göreceksiniz.
Bkz. " Git yapılandırmamdaki ayarlar nereden geliyor? "

As Steven Vascellaro işaret yorumlarda ,

standart olmayan kurulum konumlarıyla çalışır. (yani Git Portable )

(en son gibi, PortableGit-2.14.2-64-bit.7z.exeistediğiniz yerde sıkıştırılmamış olabilir)


Orijinal cevap (2010)

Gönderen docs :

--global

Yazma seçenekleri için: ~/.gitconfigdepo yerine global dosyaya yaz .git/config.

Git for Windows kullandığınız için , bunun hangi konuma karşılık geldiği net olmayabilir. Ancak etc / profile (in C:\Program Files\Git) öğesine bakarsanız şunları görürsünüz:

HOME="$HOMEDRIVE$HOMEPATH"

Anlamı:

C:\Users\MyLogin

(Windows 7'de)

Bu, dosyanın C:\Users\MyLogin\.gitconfigWindows 7'de Git için olduğu anlamına gelir .


8
Gerçekten aptal oluyordum, "--global" bayrağını düzenleme komutuna eklemedim! "git config --global --edit" tüm yapılandırma değişiklikleri ile dosyayı gösterdi, "git config --edit" açmaya ve düşünmeye devam ettiğim dosya oldu, bu editör / karşılaştır / etc config öğe az önce ayarladım! Çok teşekkürler.
Ian Vaughan

6
Teşekkürler. % USERPROFILE% 'da olduğu söylenen başka yerler gördüm. Bilgisayarımda HOMEDRIVE ve HOMEPATH bir ağ sürücüsüne yeniden eşlendi. Yerel diskimdeki aramalar hiçbir şey yapmıyordu. Bu çok yardımcı oldu.
Mike M. Lin

2
Gerçekten kullanışlı, aynı sorunu yaşıyordum - eşlenmiş bir ev sürücüsüne sahip bir alandaysanız, git yapılandırını orada oluşturmaya çalışır. Bu iyi bir özellik isteği yapar -% HOMEDRIVE% veya% USERPROFILE% kullanın
plasmid87

2
Neden sadece bir kullanıcı için buna küresel denir? (Unix için) /etc/gitconfig"küresel" ve ~/.gitconfigsadece "yerel" ..... olmaz ve sanırım .git/config"hiper-yerel" ----- Temelde, bu kafa karıştırıcı için "küresel" terimi bulmak ve ben isimlendirme için iyi bir neden olup olmadığını merak ediyor muydunuz?
Peter Ajtai

7
@PeterAjtai "global" çünkü tüm havuzunuz için. "Yerel" (sadece bir repo için) veya "sistem" (tüm repo için, tüm kullanıcılar için) aksine
VonC

123

Ben de .gitconfigWindows makinemde küresel arıyordum ve git kullanarak bu düzgün hile bulundu.

Bir yapın: git config --global -eve eğer şanslıysanız, global .gitconfigdosyanızla birlikte yüklenen bir metin düzenleyici alacaksınız . Klasörü oradan arayın (veya farklı kaydetmeyi deneyin ...), et voilà! :-)


Tam da aradığım şey! -e komutu! Çünkü bir kerede bir mülkü düzenlemek benim özüm değil.
Patareco

1
Bu komutun çalıştırılması C:\Users\<user_name>\.gitconfig, eksikse bir de oluşturur .
pmbanka


73

* Nixes'te, içeride ~/.gitconfig. Evinizde buna karşılık gelen bir dosya var mı?

Windows'ta git bash yazabilirsiniz

notepad ~/.gitconfig

6
Bu pencerelerde aynı olmalıdır.
Felix Kling

2
Daha sonra kolayca ulaşmak istiyorsan, bir takma ad yazma :) İşte bana ait: alias gitconfig='open -a Sublime\ Text.app ~/.gitconfig'. İstediğiniz metin düzenleyiciyi kullanın.
Ağustos

43

Msysgit için yollar şunlardır:

Windows XP -C:\Documents and Settings\<user_name>\.gitconfig

Windows Vista + C:\Users\<user_name>\.gitconfig


17
Muhtemelen bunu% USERPROFILE% olarak tanımlamak daha iyidir, o zaman cevap tüm Windows sürümleri, geçmiş, şimdiki ve gelecek için işe yarayacaktır.
jarmod

3
Bunun dışında, diğer yanıtlarda olduğu gibi aslında% HOMEDRIVE %% HOMEPATH% olduğunu düşünüyorum, bu da çoğu durumda% USERPROFILE% değerine eşit, ancak bazılarımız bunun yerine eşlenmiş bir sürücüye işaret eden BT yapılandırmalarına sahip.
ojchase

34

Bir HOME ortam değişkeni tanımlamadıysanız, global konum Windows MsysGit üzerinde HOMEDRIVE ve HOMEPATH ortam değişkenleri kullanılarak türetilir. 'Profil' komut dosyasında ayrıntılı olarak açıklanmıştır.

Şirket ortamımda HOMEDRIVE, daha sonra bir ağ URL'si \\ share \ $ ile eşlenen H: şeklindedir. Tüm lot daha sonra "Belgelerim" olarak eşlenir, bu da diğerlerinin beklediği yerde değildir. URL yeniden eşleme sürüşüyle ​​ilgili başka sorunlar da olabilir. HOMEDRIVE veya HOMEPATH değişkenlerini zaten ayarlayamıyorum bile.

Benim durumumda kişisel bir HOME ortam değişkeni tanımladım ve bunu D: \ git \ GitHOME'a işaret ettim ve güvenli tutmak için tüm bu GIT dosyalarını (ve uzantısız) GitHOME dizinine kopyaladım.

Windows ortam değişkenleri Bilgisayarım özellikleri iletişim kutusundaki Gelişmiş sekmesi aracılığıyla ayarlanabilir.


1
Bower'ı kullanırken beni yakaladıkları için HOMEDRIVEve HOMEPATHdeğişkenlerine gönderilecek cevaplar arasında dolaşıyordum . Windows'ta <system>:\User\<username>\.gitconfig, while the Git tool itself saves to % HOMEPATH% \. Gitconfig . I had to go one step further and copy the updated config file from my H: `den (ağımız bunun için aynı sürücü harfini kullanıyor) bir dizi yardımcı programın yerel kullanıcı klasörüme okunduğuna benziyor , ancak Git Bower tarafından çağrıldığında kuralları doğru şekilde kullandı.

1
@ZaLiTHkA, Kurumsal ağımda kullanıcının Ev (H :) sürücüsü de C: \ User \ konumuna yeniden eşlendi, bu yüzden bunu fark etmemiştim. Hatayı yapan FOSS yardımcı programlarının hangileri olduğunu belirleyebiliyorsanız, bu araçların raporlanmasına / düzeltilmesine yardımcı olmak için yararlı bilgiler olacaktır. Eğer bunlar şirket içi
Philip Oakley

Basit bir ayarlayıcı satırdan daha karmaşık olmadıkça, HOME \ 'u etc \ profile komut dosyasında tanımlı görmüyorum. Hala tarif edildiği gibi davranıyor gibi görünüyor, ancak bugünlerde HOME'un nerede ayarlandığı belirsiz.
18

@ojchase --glob config özel olarak Windows ile ilgili olarak yazılan cevabın bir parçası. Çekirdek Linux git, XDG'nin yönlendirdiği yerler gibi yerlere yazar (yani linux'un başka yerlere yazdığını ve başka kurallara sahip olduğunu biliyorum ve Windows'da 'Sürücüler' varken önemli bir kök dizini var ;-)
Philip Oakley

@PhilipOakley Aslında Windows'a da atıfta bulunuyordum; üzgünüm belirsizdim. Cevabınızı ve diğerlerini birleştirerek, bir tür HOME = $HOMEDRIVE$HOMEPATH(veya benzer) bir çizgi bekliyordum C:\Program Files\Git\etc\profileve bu çizgi var görünmüyor, ama muhtemelen? Yapmamayı tercih ettiğim ortam değişkeni tarafından ayarlanmadığı sürece $ HOME'u tam olarak neyin ayarladığını anlayamadım.
ojchase

12

Windows PC'de TortoiseGit kullanıyorsanız şunları kullanabilirsiniz:

Settings / Git / Config / Edit global .gitconfig

global .gitignore dosyasını açın.

Ancak Windows (7) PC'nizi bir etki alanında kullanırsanız, profil dizininiz bir ağ paylaşımı olabilir (sürücü olarak monte edilir). Bu durumda TortoiseGit (en azından: 1.6.5.0) sizi yanlış yöne (c: ... üzerinde) işaret ediyor. Daha fazla bilgi için TortoiseGit 922 numaralı konuya bakın . Veya% HOMEDRIVE %% HOMEPATH% kullanarak .gitignore dosyasını içeren dizini açın.


10

SmartGit'i Windows 8.1'de msysgit ile kullanıyorum ve gitconfigdosya için üç farklı konum olabileceğini fark ettim :

%USERPROFILE%\.gitconfig
C:\Program Files (x86)\Git\etc\gitconfig
C:\Program Files (x86)\SmartGitHg\git\etc\gitconfig

Ama kullanılan olan %USERPROFILE%\.gitconfig.


6

Not etmek yararlı olabilir (* nix platformları için): /usr/share/git-core/git otomatik tamamlama komut dosyaları ve aşağıdaki (varsayılan) kancalar gibi bazı genel git yapılandırma / bilgileri depolanır :

  • applypatch-msg
  • Post-güncelleme
  • ön taahhüt
  • hazırlamak-tamamlama MSG
  • taahhüt-msg
  • Ön applypatch
  • Ön Rebase
  • Güncelleme

Bunların her biri, ilgili dosya adları tarafından açıklanan zamanda yürütülecek kendi komut kümelerini içerebilir.


2
OP sorusu için yararlı değil.
orbfish

5

Ben de küresel ile ilgili bir sorun vardı .gitconfig Bu biri de bu garip

git dedi:

ölümcül: yapılandırma dosyaları okunurken bilinmeyen bir hata oluştu

Şimdi tamir ettim. Sorun .gitconfigbu klasörde bir saniye oldu:

c: \ Users \ myUser.config \ git \ config

Nereden geldiğini bilmiyorum ... Ama şimdi her şey tekrar bir charme gibi çalışıyor.


5

Genel .gitconfig dosyası ne zaman oluşturulur?

İlk önce git, yükleme sırasında otomatik olarak genel yapılandırma dosyasını (.gitconfig) oluşturmaz. Dosya ilk kez yazılıncaya kadar oluşturulmaz. Daha önce bir sistem değişkeni ayarlamadıysanız, dosya sisteminizde değişmez.Sorunun kaynağı olabileceğini tahmin ediyorum.

Git'ten oluşturmasını istemenin bir yolu, düzenleme istemektir. Bunu yapmak dosyanın oluşturulmasını zorlar.

git config --global --edit

Bu komutu verirken kullanıcının ana klasörünü izlerseniz, .gitconfig dosyasının sihirli bir şekilde göründüğünü göreceksiniz.

Git yapılandırması nerede saklanır?

Üç Git kapsamıyla ilişkili sistem , global ve yerel yapılandırma dosyalarının adının ve konumunun hızlı bir açıklaması :

  • Sistem Git yapılandırması: -git-install-location- / ming <32> / etc dizininde bulunan gitconfig adlı dosya
  • Global Git yapılandırması: Kullanıcının ana klasöründe bulunan .gitconfig adlı dosya (C: \ Users \ git user)
  • Yerel Git yapılandırma: Dosya adında yapılandırma içinde .git klasörün yerel repo

Tabii ki, görmek inanmaktır, bu yüzden her dosyayı ve konumu gösteren bir görüntü. Konuyla ilgili yazdığım bir makaleden resmi çektim.

Windows Git yapılandırma dosyası konumları (TheServerSide.com)

Git yapılandırma dosyalarının konumu


1
taşınabilir yapılandırma adı verilen dördüncü bir yer var: burada 4 yerden bahsediyorlar; Windows için Git dört yapılandırma düzeyini destekler. En düşük seviyede "taşınabilir" olarak bilinen ve "% ProgramData% \ Git \ config" olarak bilinen makineye özgü yapılandırma ayarları bulunur
Badr Elmers

1
Zihin karmaşası! Makaleyi yeni bilgilerle güncelleyeceğim. Şerefe!
Cameron McKenzie

4

Windows 7 çalıştırıyorum ve GitHub'daki talimatları izleyerek git'i kurulum olarak kullanıyorum (bir veya iki yıl geri). Oldukça yaygın bir kullanım örneği düşünürdüm. Yukarıdaki cevapların hiçbiri bana yardımcı olmadı ve çok fazla hayal kırıklığından sonra sonunda 'gerçek' gitconfig dosyamı aşağıdaki dizinde buldum;

C: \ Kullanıcılar \ Bill \ AppData \ Local \ GitHub \ PortableGit_054f2e797ebafd44a30203088cd 3d58663c627ef \ etc

Açıkçası kullanıcı adınızı ve muhtemelen PortableGit_'den sonraki son eki benzersiz bir GUID veya benzeridir.


1
Bu yalnızca Windows için GitHub kullanılırken geçerlidir.
Yılan

3

Bu teklifi yayınlamanın önemli olduğunu düşünüyorum:

Windows için Git dört yapılandırma düzeyini destekler. En düşük düzeyde, "taşınabilir" olarak bilinen ve "% ProgramData% \ Git \ config" bulunan makineye özgü yapılandırma ayarları bulunur. Bir öncelik düzeyi, "\ mingw64 \ etc \ gitconfig" adresinde bulunan "sistem" olarak bilinen kuruluma özgü yapılandırma ayarlarını bize verir. Bu yapılandırma dosyalarının her ikisi de, genellikle değiştirmek için yükseltilmiş ayrıcalıklar gerektirir.

"% UserProfile% .gitconfig" adresinde bulunan "global" yapılandırma olarak bilinen belirli değerlerin kullanılmasından başlayarak, "kullanıcı tarafından düzenlenebilir" yapılandırma dosyalarını buluruz. En yüksek öncelikli yapılandırma ayarları, genellikle ".git \ config" adresinde bulunan "yerel" yapılandırmadadır.

Bağlanan blogdaki önerilerin "sistem" veya "kuruluma" özgü yapılandırma ayarlarını değiştirmektir, bu da iyidir, ancak kullanıcılar Git'in diğer kurulumlarının söz konusu ayarları kabul etmemesini beklemelidir. Makine genelindeki ayarları istiyorsanız, "taşınabilir" yapılandırma dosyasını kullanın, aksi takdirde "genel" veya "yerel" yapılandırma dosyalarını seçin.

Umarım, insanlar bu bilgiyi faydalı bulurlar.

kaynak


3

@MatrixFrog onların işaret ettiği gibi comment hedefi yapılandırma düzenlemek için ise, çalıştırmak isteyebilirsiniz:

git config --global --edit

Bu komut, yapılandırma düzenleyicisini (bu durumda, bu --globalolanı) seçtiğiniz düzenleyicide açar ve dosyanın kapatılmasını bekler (tıpkı sırasında olduğu gibi git rebase -i).


Sen küresel nerede olduğunu anlamaya bunu kullanabilirsiniz .gitconfigbulunduğu -. Sürece editör dosyası bulunan hangi dizin söyler gibi diğer anahtarları (kullanabilir --system, --localbulup düzenlemek diğerine, vs.) .gitconfigkonumları. PS -eaynı--edit
LightCC

1

Msysgit'i kaldırın ve Cygwin + Git'i yükleyin. O zaman global '.gitconfig' burada olacak: C: \ cygwin (64) \ home \ [kullanıcıAdı] \. Gitconfig.

Artık başka programlar tarafından kullanılabilecek bir ortam değişkeni hakkında endişelenmenize gerek yok. Örneğin, ortam değişkenim beni çalışma pencereleri etki alanı ortamımdaki eşlenmiş bir sürücüye yöneltti. Küresel .gitconfig dosyamın "ev" eşlemeli sürücümde oturmasını istemiyorum. Ayrıca, bu Windows ortam değişkenine güvenebilecek diğer uygulamalara ne olabileceğini de bilmiyorum. İşlemler bölümü, bir sebepten dolayı eşlenen sürücüye ayarlanmış olan ortam değişkenine ihtiyaç duyabilir.

Ayrıca, bu yöntemi kullanarak global '.gitconfig' için belirli bir yol belirtirseniz, Mysysgit'in 'profil' yapılandırma ayarlarınızın üzerine yazması konusunda endişelenmenize gerek yoktur.

Genel olarak kendinizi kaydedin ve cygwin bash kabuğunu pencerelerde kullanın ve daha mutlu olun


1

Benzer bir sorunum vardı; sorun .gitconfigdosyanın bulunduğu yerdi

C:\Users\MyLogin\.gitconfig\

(Windows 7'de)

Başka bir deyişle, dosya, C:\Users\MyLogin\.gitconfig\.gitconfigon yerine C:\Users\MyLogin\.gitconfig(Git'in dosyaları aradığı yer) idi.


1

.gitconfig dosya konumu

macOS testi TAMAM

global

# global config
$ cd ~/.gitconfig

# view global config
$ git config --global -l

yerel

# local config
$ cd .git/config

# view local config
$ git config -l

belki sizin için bir bonus git Vimveya VSCodegit config düzenlemek için


# open config with Vim

# global config
$ vim ~/.gitconfig

# local config
$ vim .git/config


# open config with VSCode

# global config
$ code ~/.gitconfig

# local config
$ code .git/config


0

Gitimi şuraya yükledim: C:\Users\_myuserfolder_\AppData\Local\Programs\Git

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.