Skip to content

Konfigürasyon İşlemleri

Sonuç olarak konfigürasyon dosyası adı üzerinde bir dosya. Herhangi bir text editör ile açıp düzenleyebilirsiniz. En hızlı ve kolay yolu bu. Bunun dışında, git config komutuna çeşitli parametreler geçerek değerleri sorgulayabilir, silebilir, düzeltebilirsiniz. Çok daha fazla detay için tıklayın.

Comment Out (Yorum)

Bu dosyada comment out yani programlama dillerindeki gibi yorum satırı ya da bazen bir şeyleri denemek için anlık satırı off etmek için popüler programlama dillerinden alışkın olduğumuz # ve ; kullanılmış:

# bu
# yorum
# satırı
; bu
; satır da yorum...
[user]
    name = Uğur Özyılmazel

Değer Okumak: --get

Örneğin core grubu altında bulunan filemode değişkeninin değerini;

$ git config --get core.filemode
true

--get GRUP.DEĞİŞKEN şeklinde okuruz. Aslında --get opsiyonel. Yani yazmak zorunda değilsiniz:

$ git config user.name
Uğur Özyılmazel

Ben homebrew’la beraber bash-completion paketini de kullandığım için, pek çok GIT işlemini auto-complete ya da tab-completion ya da otomatik olarak TAB tuşuna basınca tamamlama ile kullanıyorum. İşlerim süper kolaylaşıyor ve daha az şey ezberlemek durumunda kalıyorum.


19 Ağustos 2021

Mutlaka tavsiye ederim:

$ brew install git-extras

Linux türevleri genelde GIT paketini kurunca otomatik olarak bu tamamlamayı da beraberinde getiriyor.

Değeri Silmek: --unset

Şimdi denemek için kullanıcı seviyesinde değer ataması yapalım:

$ git config --global alias.s status

bu komut ile kısa yol tanımladık. artık git status yerine git s yapmak yeterli. Bu alias konusuna ileride daha detaylı gireceğiz. Şimdi bu kısa yolu silmek için:

$ git config --global --unset alias.s

yapmak yeterli.

include ve includeIf

Yanılmıyorsam GIT versiyon 2.10+ ile gelen, benim çok sevdiğim hayatımı kolaylaştıran 2 direktif. Benim gibi evde kişisel bilgisayar, işte ofis bilgisayarı kullanıyorsanız aslında 2 farklı insan gibisiniz.

Belki birden fazla bilgisayarınız var. Duruma göre her bilgisayarın özel bir konfigürasyon direktifine ihtiyacı olabilir.

Ya da sadece belli dizinlerin altında belli ayarlar çalışsa?

Her bilgisayarda ortak ~/.gitconfig dosyasını kullanmak ama bilgisayarına göre ayar yapmak istiyordum. İşte bu durumda imdadıma include yetişti.

[include]
    path = ~/.gitlocalconfig

~/.gitlocalconfig bu dosya her iki bilgisayarımda da bulunuyor. Ana GIT konfigürasyon dosyamda user grubunda name ve email ayarları var. Farklı bilgisayarlarda farklı GPG anahtarları kullandığım için (bunun ne olduğunu ileride anlatacağım) user.signingkey değeri her makine için farklı :)

Eğer bulunduğum dizin ~/Dev/Amiga/Bronx-Sources/ ise ~/.gitconfig-bronx-repos konfigürasyon dosyasını kullan demek istiyorum. Nasıl mı?

[includeIf "gitdir:~/Dev/Amiga/Bronx-Sources/"]
    path = ~/.gitconfig-bronx-repos

Bu dosyada yani ~/.gitconfig-bronx-repos dosyasında ne mi var?

[user]
    name = vigo/bronx
    email = vigo@bronx....org
    signingkey = D3M(O)(SC/\/3)

yani ben ne zaman cd ~/Dev/Amiga/Bronx-Sources/ yapıp, bu dizin altında bulunan herhangi bir repoda işlem yapacak olursam, yukarıdaki değerler aktif olacak!

Bana şu soruyu sorabilirsiniz:

Neden Local olarak ayar yapmadın?

İlgili dizin altın 300 tane repo olsa? tek-tek dizinlerin altına gidip git config yapmak zorunda kalmak iyi bir fikir mi?

Son olarak path = dosya mantığında birden fazla path tanımlamak mümkün:

[include]
    path = ~/.git-localconfig-1
    path = ~/.git-localconfig-2
    path = ~/.git-localconfig-3
[includeIf "gitdir:~/Dev/C64/Zombie-Boys-Sources/"]
    path = ~/.git-zb-config-1
    path = ~/.git-zb-config-2

gibi...