← man/dev_and_programming
git — man git — 80×24
ugur@toprak:~/man/dev_and_programming$man git
Bölüm 1 Geliştirme & Programlama

git

aptal içerik takipçisi

Sözdizimi

       git [-v | --version] [-h | --help] [-C <yol>] [-c <ad>=<değer>]
	   [--exec-path[=<yol>]] [--html-path] [--man-path] [--info-path]
	   [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
	   [--no-optional-locks] [--no-advice] [--bare] [--git-dir=<yol>]
	   [--work-tree=<yol>] [--namespace=<ad>] [--config-env=<ad>=<ortam_değişkeni>]
	   <komut> [<argümanlar>]

Açıklama

Git; hem üst düzey işlemler hem de iç yapılara tam erişim sağlayan, olağanüstü derecede zengin bir komut kümesine sahip; hızlı, ölçeklenebilir, dağıtık bir revizyon kontrol sistemidir.

Başlamak için gittutorial(7) kılavuzuna bakın, ardından kullanışlı bir minimum komut kümesi için giteveryday(7) kılavuzuna göz atın. Git User’s Manual[1] (Git Kullanıcı Kılavuzu) daha derinlemesine bir giriş içerir.

Temel kavramlarda uzmanlaştıktan sonra, Git'in hangi komutları sunduğunu öğrenmek için bu sayfaya geri dönebilirsiniz. Münferit Git komutları hakkında daha fazla bilgiyi "git help komut" ile öğrenebilirsiniz. gitcli(7) kılavuz sayfası, komut satırı komut sözdizimine genel bir bakış sunar.

En son Git belgelerinin biçimlendirilmiş ve bağlantı içeren bir kopyası https://git.github.io/htmldocs/git.html veya https://git-scm.com/docs adreslerinde görüntülenebilir.

Seçenekler

-v, --version git programının ait olduğu Git paketinin sürümünü yazdırır.

Bu seçenek dahili olarak git version ... komutuna dönüştürülür ve git-version(1) komutuyla aynı seçenekleri kabul eder. Eğer --help seçeneği de verilmişse, --version seçeneğine göre öncelik kazanır.

-h, --help Sözdizimini ve en sık kullanılan komutların bir listesini yazdırır. Eğer --all veya -a seçeneği verilirse, kullanılabilir tüm komutlar yazdırılır. Bir Git komutu adı belirtilirse, bu seçenek o komutun kılavuz sayfasını açar.

Kılavuz sayfasının nasıl görüntüleneceğini kontrol etmek için başka seçenekler de mevcuttur. Daha fazla bilgi için git-help(1) kılavuzuna bakın, çünkü git --help ... ifadesi dahili olarak git help ... komutuna dönüştürülür.

-C Git, mevcut çalışma dizini yerine belirtilen <yol> içinde başlatılmış gibi çalışır. Birden fazla -C seçeneği verildiğinde, sonraki her mutlak olmayan -C <yol> seçeneği, bir önceki -C <yol> seçeneğine göre göreceli olarak yorumlanır. Eğer <yol> mevcut ancak boşsa, örneğin -C "" şeklinde ise, mevcut çalışma dizini değiştirilmeden bırakılır.

Bu seçenek, --git-dir ve --work-tree gibi yol adı bekleyen seçenekleri etkiler; zira bu yolların yorumlanması, -C seçeneğinin neden olduğu çalışma dizinine göre yapılır. Örneğin, aşağıdaki çağrılar birbirine eşdeğerdir:

git --git-dir=a.git --work-tree=b -C c status git --git-dir=c/a.git --work-tree=c/b status

-c =<değer> Komuta bir yapılandırma parametresi geçirir. Verilen değer, yapılandırma dosyalarındaki değerleri geçersiz kılar. <ad> parametresinin, git config tarafından listelenen biçimle aynı olması beklenir (noktalarla ayrılmış alt anahtarlar).

git -c foo.bar ... komutunda = işaretinin atlanmasına izin verildiğini ve bunun foo.bar değişkenini boolean true değerine ayarladığını unutmayın (tıpkı bir yapılandırma dosyasındaki [foo]bar ifadesinin yapacağı gibi). Eşittir işaretinin dahil edilmesi ancak değerin boş bırakılması (örneğin git -c foo.bar= ...), foo.bar değişkenini boş bir dizeye ayarlar ve git config --type=bool bunu false olarak dönüştürür.

--config-env==<ortam_değişkeni> -c <ad>=<değer> seçeneği gibi, <ad> yapılandırma değişkenine bir değer verir; burada <ortam_değişkeni>, değerin alınacağı ortam değişkeninin adıdır. -c seçeneğinin aksine, değeri doğrudan boş bir dizeye ayarlamak için bir kısayol yoktur; bunun yerine ortam değişkeninin kendisi boş dizeye ayarlanmalıdır. <ortam_değişkeni> ortamda mevcut değilse bu bir hatadır. Çelişkiyi önlemek için, <ortam_değişkeni>, içinde eşittir işareti içeren bir <ad> ile karışmaması adına eşittir işareti içeremez.

Bu seçenek, Git'e geçici yapılandırma seçenekleri iletmek istediğiniz ancak bunu diğer işlemlerin komut satırınızı okuyabileceği (örneğin /proc/self/cmdline), ancak ortamınızı okuyamayacağı (örneğin /proc/self/environ) işletim sistemlerinde yaptığınız durumlar için kullanışlıdır. Bu davranış Linux işletim sisteminde varsayılan olsa da sizin sisteminizde böyle olmayabilir.

Bunun, hassas bilgilerin değerin bir parçası olduğu http.extraHeader gibi değişkenler için güvenlik sağlayabileceğini, ancak hassas bilgilerin anahtarın bir parçası olabileceği url.<base>.insteadOf gibi değişkenler için güvenlik sağlamayacağını unutmayın.

--exec-path[=] Çekirdek Git programlarınızın kurulu olduğu yol. Bu durum, GIT_EXEC_PATH ortam değişkeni ayarlanarak da kontrol edilebilir. Hiçbir yol belirtilmezse, Git mevcut ayarı yazdırır ve ardından çıkar.

--html-path Git'in HTML belgelerinin kurulu olduğu yolu, sonunda eğik çizgi olmadan yazdırır ve çıkar.

--man-path Git'in bu sürümünün kılavuz sayfaları için manpath'i (bkz. man(1)) yazdırır ve çıkar.

--info-path Git'in bu sürümünü belgeleyen Info dosyalarının kurulu olduğu yolu yazdırır ve çıkar.

-p, --paginate Eğer standart çıktı bir terminal ise tüm çıktıyı less (veya ayarlanmışsa $PAGER) programına yönlendirir. Bu seçenek, pager.<cmd> yapılandırma seçeneklerini geçersiz kılar (aşağıdaki "Yapılandırma Mekanizması" bölümüne bakın).

-P, --no-pager Git çıktısını bir sayfalayıcıya (pager) yönlendirmez.

--git-dir= Deponun (.git dizininin) yolunu ayarlar. Bu durum, GIT_DIR ortam değişkeni ayarlanarak da kontrol edilebilir. Mevcut çalışma dizine mutlak veya göreceli bir yol olabilir.

Bu seçeneği (veya GIT_DIR ortam değişkenini) kullanarak .git dizininin konumunu belirtmek, .git alt dizinine sahip bir dizin bulmaya çalışan depo keşfini (depo ve çalışma ağacının en üst düzeyinin bu şekilde keşfedilmesini) kapatır ve Git'e çalışma ağacının en üst düzeyinde olduğunuzu bildirir. Çalışma ağacının en üst düzey dizininde değilseniz, çalışma ağacının en üst düzeyinin nerede olduğunu Git'e --work-tree=<yol> seçeneğiyle (veya GIT_WORK_TREE ortam değişkeniyle) bildirmelisiniz.

Git'i yalnızca <yol> içinde başlatılmış gibi çalıştırmak istiyorsanız git -C <yol> komutunu kullanın.

--work-tree= Çalışma ağacının (working tree) yolunu ayarlar. Mevcut çalışma dizinine mutlak bir yol veya göreceli bir yol olabilir. Bu durum, GIT_WORK_TREE ortam değişkeni ve core.worktree yapılandırma değişkeni ayarlanarak da kontrol edilebilir (daha ayrıntılı bir tartışma için git-config(1) kılavuzundaki core.worktree bölümüne bakın).

--namespace= Git ad alanını (namespace) ayarlar. Daha fazla bilgi için gitnamespaces(7) kılavuzuna bakın. GIT_NAMESPACE ortam değişkenini ayarlamaya eşdeğerdir.

--bare Depoyu yalın (bare) bir depo olarak ele alır. Eğer GIT_DIR ortam değişkeni ayarlanmamışsa, mevcut çalışma dizinine ayarlanır.

--no-replace-objects Git nesnelerini değiştirmek için değiştirme referanslarını (replacement refs) kullanmaz. Bu durum, GIT_NO_REPLACE_OBJECTS ortam değişkenini herhangi bir değerle dışa aktarmaya eşdeğerdir. Daha fazla bilgi için git-replace(1) kılavuzuna bakın.

--no-lazy-fetch Eksik nesneleri promisor uzak sunucusundan (promisor remote) isteğe bağlı olarak otomatik çekmez (fetch). Nesnenin yerel olarak mevcut olup olmadığını görmek için git cat-file -e <object> ile birlikte kullanışlıdır. Bu durum, GIT_NO_LAZY_FETCH ortam değişkenini 1 olarak ayarlamaya eşdeğerdir.

--no-optional-locks Kilit (lock) gerektiren isteğe bağlı işlemleri gerçekleştirmez. Bu durum, GIT_OPTIONAL_LOCKS ortam değişkenini 0 olarak ayarlamaya eşdeğerdir.

--no-advice Tüm tavsiye ipuçlarının (advice hints) yazdırılmasını devre dışı bırakır.

--literal-pathspecs Yol belirteçlerini (pathspecs) harfi harfine ele alır (yani dosya kalıbı eşleştirme (globbing) ve yol belirteci sihri yoktur). Bu durum, GIT_LITERAL_PATHSPECS ortam değişkenini 1 olarak ayarlamaya eşdeğerdir.

--glob-pathspecs Tüm yol belirteçlerine "glob" sihri ekler. Bu durum, GIT_GLOB_PATHSPECS ortam değişkenini 1 olarak ayarlamaya eşdeğerdir. Münferit yol belirteçlerinde globbing'i devre dışı bırakmak, :(literal) yol belirteci sihri kullanılarak yapılabilir.

--noglob-pathspecs Tüm yol belirteçlerine "literal" (harfi harfine) sihri ekler. Bu durum, GIT_NOGLOB_PATHSPECS ortam değişkenini 1 olarak ayarlamaya eşdeğerdir. Münferit yol belirteçlerinde globbing'i etkinleştirmek, :(glob) yol belirteci sihri kullanılarak yapılabilir.

--icase-pathspecs Tüm yol belirteçlerine "icase" (büyük/küçük harf duyarsızlığı) sihri ekler. Bu durum, GIT_ICASE_PATHSPECS ortam değişkenini 1 olarak ayarlamaya eşdeğerdir.

--list-cmds=[,...] Komutları gruba göre listeler. Bu dahili/deneysel bir seçenektir ve gelecekte değişebilir veya kaldırılabilir. Desteklenen gruplar şunlardır: builtins (dahili bileşenler), parseopt (parse-options kullanan dahili komutlar), main (libexec dizinindeki tüm komutlar), others ($PATH içindeki git- önekine sahip diğer tüm komutlar), list-<category> (command-list.txt içindeki kategorilere bakın), nohelpers (yardımcı komutları hariç tutar), alias ve config (komut listesini completion.commands yapılandırma değişkeninden alır).

--attr-source= gitattributes dosyasını çalışma ağacı yerine <tree-ish> nesnesinden okur. Bkz. gitattributes(5). Bu durum, GIT_ATTR_SOURCE ortam değişkenini ayarlamaya eşdeğerdir.

Git Komutları

Git'i üst düzey ("porcelain" - porselen) komutlar ve alt düzey ("plumbing" - tesisat) komutlar olarak ikiye ayırıyoruz.

ÜST DÜZEY KOMUTLAR (PORCELAIN) Porselen komutlarını ana komutlar ve bazı yardımcı kullanıcı araçları olarak ayırıyoruz.

Ana porselen komutları git-add(1) Dosya içeriklerini dizine (index) ekler.

git-am(1) Bir posta kutusundan (mailbox) gelen bir dizi yamayı (patch) uygular.

git-archive(1) Belirtilen bir ağaçtan (tree) dosyaların bir arşivini oluşturur.

git-backfill(1) Kısmi bir klondaki (partial clone) eksik nesneleri indirir.

git-bisect(1) Bir hataya (bug) neden olan işlemeyi (commit) bulmak için ikili arama (binary search) kullanır.

git-branch(1) Dalları (branch) listeler, oluşturur veya siler.

git-bundle(1) Nesneleri ve referansları arşiv yoluyla taşır.

git-checkout(1) Dalları değiştirir veya çalışma ağacı dosyalarını geri yükler.

git-cherry-pick(1) Mevcut bazı işlemelerin getirdiği değişiklikleri uygular.

git-citool(1) git-commit komutuna grafiksel alternatif.

git-clean(1) Takip edilmeyen (untracked) dosyaları çalışma ağacından kaldırır.

git-clone(1) Bir depoyu yeni bir dizine kopyalar (clone).

git-commit(1) Değişiklikleri depoya kaydeder.

git-describe(1) Mevcut bir referansa dayanarak bir nesneye insan tarafından okunabilir bir ad verir.

git-diff(1) İşlemeler arasındaki, işleme ile çalışma ağacı arasındaki vb. değişiklikleri gösterir.

git-fetch(1) Başka bir depodan nesneleri ve referansları indirir.

git-format-patch(1) Yamaları e-posta ile gönderilmek üzere hazırlar.

git-gc(1) Gereksiz dosyaları temizler ve yerel depoyu optimize eder.

git-grep(1) Bir kalıpla eşleşen satırları yazdırır.

git-gui(1) Git için taşınabilir bir grafik arayüz.

git-init(1) Boş bir Git deposu oluşturur veya mevcut olanı yeniden başlatır.

git-log(1) İşleme günlüklerini (commit logs) gösterir.

git-maintenance(1) Git depo verilerini optimize etmek için görevler çalıştırır.

git-merge(1) İki veya daha fazla geliştirme geçmişini birleştirir.

git-mv(1) Bir dosyayı, dizini veya sembolik bağlantıyı (symlink) taşır veya yeniden adlandırır.

git-notes(1) Nesne notları ekler veya bunları inceler.

git-pull(1) Başka bir depodan veya yerel bir daldan veri çeker ve onunla bütünleştirir.

git-push(1) İlişkili nesnelerle birlikte uzak referansları günceller.

git-range-diff(1) İki işleme aralığını karşılaştırır (örneğin bir dalın iki sürümü).

git-rebase(1) İşlemeleri başka bir temel ucun (base tip) üzerine yeniden uygular.

git-reset(1) Mevcut HEAD'i belirtilen duruma sıfırlar.

git-restore(1) Çalışma ağacı dosyalarını geri yükler.

git-revert(1) Mevcut bazı işlemeleri geri alır.

git-rm(1) Dosyaları çalışma ağacından ve dizinden (index) kaldırır.

git-shortlog(1) git log çıktısını özetler.

git-show(1) Çeşitli nesne türlerini gösterir.

git-sparse-checkout(1) Çalışma ağacınızı takip edilen dosyaların bir alt kümesine indirger.

git-stash(1) Kirli bir çalışma dizinindeki değişiklikleri bir kenara saklar (stash).

git-status(1) Çalışma ağacının durumunu gösterir.

git-submodule(1) Alt modülleri (submodule) başlatır, günceller veya inceler.

git-switch(1) Dalları değiştirir.

git-tag(1) GPG ile imzalanmış bir etiket (tag) nesnesi oluşturur, listeler, siler veya doğrular.

git-worktree(1) Birden fazla çalışma ağacını yönetir.

gitk(1) Git deposu tarayıcısı.

scalar(1) Büyük Git depolarını yönetmek için bir araç.

Yardımcı Komutlar Manipülatörler (Yönlendiriciler):

git-config(1) Depo veya genel seçenekleri alır ve ayarlar.

git-fast-export(1) Git veri dışa aktarıcısı.

git-fast-import(1) Hızlı Git veri dışa aktarıcıları için arka uç (backend).

git-filter-branch(1) Dalları yeniden yazar.

git-mergetool(1) Birleştirme çelişkilerini çözmek için çelişki çözümleme araçlarını çalıştırır.

git-pack-refs(1) Etkin depo erişimi için uçları (heads) ve etiketleri (tags) paketler.

git-prune(1) Nesne veritabanından erişilemeyen tüm nesneleri budar.

git-reflog(1) reflog bilgilerini yönetir.

git-refs(1) Referanslara alt düzey erişim sağlar.

git-remote(1) Takip edilen depolar kümesini yönetir.

git-repack(1) Bir depodaki paketlenmemiş nesneleri paketler.

git-replace(1) Nesneleri değiştirmek için referanslar oluşturur, listeler veya siler.

Sorgulayıcılar:

git-annotate(1) Dosya satırlarını işleme (commit) bilgileriyle ilişkilendirir.

git-blame(1) Bir dosyanın her satırını en son hangi revizyonun ve yazarın değiştirdiğini gösterir.

git-bugreport(1) Kullanıcının bir hata raporu göndermesi için bilgi toplar.

git-count-objects(1) Paketlenmemiş nesne sayısını ve bunların disk tüketimini sayar.

git-diagnose(1) Tanılama bilgilerinden oluşan bir zip arşivi oluşturur.

git-difftool(1) Yaygın diff araçlarını kullanarak değişiklikleri gösterir.

git-fsck(1) Veritabanındaki nesnelerin bağlanabilirliğini ve geçerliliğini doğrular.

git-help(1) Git hakkında yardım bilgilerini görüntüler.

git-instaweb(1) Çalışan deponuza gitweb üzerinde anında göz atmanızı sağlar.

git-merge-tree(1) Dizine (index) veya çalışma ağacına dokunmadan birleştirme gerçekleştirir.

git-rerere(1) Çelişkili birleştirmelerin kaydedilmiş çözümlerini yeniden kullanır.

git-show-branch(1) Dalları ve onların işlemelerini gösterir.

git-verify-commit(1) İşlemelerin GPG imzasını kontrol eder.

git-verify-tag(1) Etiketlerin GPG imzasını kontrol eder.

git-version(1) Git hakkında sürüm bilgilerini görüntüler.

git-whatchanged(1) Her işlemenin getirdiği farklarla birlikte günlükleri gösterir.

gitweb(1) Git web arayüzü (Git depoları için web ön ucu).

Başkalarıyla Etkileşim Kurma Bu komutlar, yabancı kaynak kodu yönetim sistemleriyle (SCM) ve e-posta üzerinden yamalar aracılığıyla diğer insanlarla etkileşim kurmak içindir.

git-archimport(1) Bir GNU Arch deposunu Git'e aktarır (import).

git-cvsexportcommit(1) Tek bir işlemeyi (commit) bir CVS çalışma kopyasına (checkout) aktarır.

git-cvsimport(1) İnsanların nefret etmeyi sevdiği başka bir SCM'den verilerinizi kurtarır.

git-cvsserver(1) Git için bir CVS sunucu emülatörü.

git-imap-send(1) stdin'den gelen bir yama koleksiyonunu bir IMAP klasörüne gönderir.

git-p4(1) Perforce depolarından veri aktarır ve bunlara gönderim yapar.

git-quiltimport(1) Mevcut dal üzerine bir quilt yama kümesi uygular.

git-request-pull(1) Bekleyen değişikliklerin bir özetini üretir.

git-send-email(1) Bir yama koleksiyonunu e-posta olarak gönderir.

git-svn(1) Bir Subversion deposu ile Git arasında iki yönlü işlem gerçekleştirir.

Sıfırlama, Geri Yükleme ve Geri Alma (Reset, restore ve revert) Benzer adlara sahip üç komut vardır: git reset, git restore ve git revert.

• git-revert(1), diğer işlemelerin getirdiği değişiklikleri geri alan yeni bir işleme yapmakla ilgilidir.

• git-restore(1), çalışma ağacındaki dosyaları dizinden (index) veya başka bir işlemeden geri yüklemekle ilgilidir. Bu komut dalınızı güncellemez. Komut ayrıca dizindeki dosyaları başka bir işlemeden geri yüklemek için de kullanılabilir.

• git-reset(1), dalınızı güncellemekle, daldan işlemeler eklemek veya çıkarmak için ucu taşımakla ilgilidir. Bu işlem işleme geçmişini değiştirir.

git reset, git restore ile örtüşecek şekilde dizini geri yüklemek için de kullanılabilir.

Alt Düzey Komutlar (Plumbing)

Git kendi porselen katmanını içermesine rağmen, alt düzey komutları alternatif porselenlerin geliştirilmesini desteklemek için yeterlidir. Bu tür porselenlerin geliştiricileri, işe git-update-index(1) ve git-read-tree(1) kılavuzlarını okuyarak başlayabilirler.

Bu alt düzey komutların arayüzünün (girdi, çıktı, seçenekler kümesi ve semantik) Porselen düzeyindeki komutlara göre çok daha kararlı olması amaçlanmıştır; çünkü bu komutlar öncelikle betik kullanımı (scripted use) içindir. Öte yandan, Porselen komutlarının arayüzü, son kullanıcı deneyimini iyileştirmek amacıyla değişikliğe tabidir.

Aşağıdaki açıklama, alt düzey komutları; nesneleri manipüle eden (depoda, dizinde ve çalışma ağacında), nesneleri sorgulayan ve karşılaştıran ve nesneleri ile referansları depolar arasında taşıyan komutlar olarak ayırır.

Manipülasyon (Yönlendirme) komutları git-apply(1) Dosyalara ve/veya dizine (index) bir yama uygular.

git-checkout-index(1) Dosyaları dizinden çalışma ağacına kopyalar.

git-commit-graph(1) Git commit-graph dosyalarını yazar ve doğrular.

git-commit-tree(1) Yeni bir işleme (commit) nesnesi oluşturur.

git-hash-object(1) Nesne kimliğini (ID) hesaplar ve isteğe bağlı olarak bir dosyadan nesne oluşturur.

git-index-pack(1) Mevcut bir paketlenmiş arşiv için paket indeksi dosyası oluşturur.

git-merge-file(1) Üç yönlü bir dosya birleştirmesi çalıştırır.

git-merge-index(1) Birleştirilmesi gereken dosyalar için birleştirme çalıştırır.

git-mktag(1) Ek doğrulamaya sahip bir etiket (tag) nesnesi oluşturur.

git-mktree(1) ls-tree biçimli metinden bir ağaç (tree) nesnesi oluşturur.

git-multi-pack-index(1) Çoklu paket indekslerini (multi-pack-indexes) yazar ve doğrular.

git-pack-objects(1) Paketlenmiş bir nesne arşivi oluşturur.

git-prune-packed(1) Halihazırda paket dosyalarında bulunan fazlalık nesneleri kaldırır.

git-read-tree(1) Ağaç bilgilerini dizine (index) okur.

git-replay(1) DENEYSEL: İşlemeleri yeni bir temelde yeniden oynatır, yalın (bare) depolarla da çalışır.

git-symbolic-ref(1) Sembolik referansları okur, değiştirir ve siler.

git-unpack-objects(1) Nesneleri paketlenmiş bir arşivden çıkarır.

git-update-index(1) Çalışma ağacındaki dosya içeriklerini dizine (index) kaydeder.

git-update-ref(1) Bir referansta saklanan nesne adını güvenli bir şekilde günceller.

git-write-tree(1) Mevcut dizinden (index) bir ağaç nesnesi oluşturur.

Sorgulama komutları git-cat-file(1) Depo nesnelerinin içeriklerini veya ayrıntılarını sağlar.

git-cherry(1) Henüz yukarı akışa (upstream) uygulanmamış işlemeleri bulur.

git-diff-files(1) Çalışma ağacındaki ve dizindeki (index) dosyaları karşılaştırır.

git-diff-index(1) Bir ağacı çalışma ağacı veya dizin ile karşılaştırır.

git-diff-pairs(1) Sağlanan blob çiftlerinin içeriğini ve modunu karşılaştırır.

git-diff-tree(1) İki ağaç nesnesi aracılığıyla bulunan blobların içeriğini ve modunu karşılaştırır.

git-for-each-ref(1) Her bir referans hakkında bilgi çıktısı verir.

git-for-each-repo(1) Bir depolar listesinde bir Git komutu çalıştırır.

git-get-tar-commit-id(1) git-archive kullanılarak oluşturulmuş bir arşivden işleme kimliğini (commit ID) çıkarır.

git-ls-files(1) Dizindeki (index) ve çalışma ağacındaki dosyalar hakkında bilgi gösterir.

git-ls-remote(1) Uzak bir depodaki referansları listeler.

git-ls-tree(1) Bir ağaç nesnesinin içeriklerini listeler.

git-merge-base(1) Bir birleştirme için olabildiğince iyi ortak atalar bulur.

git-name-rev(1) Belirli revizyonlar için sembolik adlar bulur.

git-pack-redundant(1) Gereksiz (redundant) paket dosyalarını bulur.

git-rev-list(1) İşleme nesnelerini ters kronolojik sırada listeler.

git-rev-parse(1) Parametreleri seçer ve düzenler.

git-show-index(1) Paketlenmiş arşiv indeksini gösterir.

git-show-ref(1) Yerel bir depodaki referansları listeler.

git-unpack-file(1) Bir blob'un içeriğiyle geçici bir dosya oluşturur.

git-var(1) Bir Git mantıksal değişkenini gösterir.

git-verify-pack(1) Paketlenmiş Git arşiv dosyalarını doğrular.

Genel olarak sorgulama komutları çalışma ağacındaki dosyalara dokunmaz.

Depoları Eşitleme git-daemon(1) Git depoları için son derece basit bir sunucu.

git-fetch-pack(1) Başka bir depodan eksik nesneleri alır.

git-http-backend(1) HTTP üzerinden Git'in sunucu tarafı uygulaması.

git-send-pack(1) Nesneleri Git protokolü üzerinden başka bir depoya gönderir (push).

git-update-server-info(1) Aptal sunuculara (dumb servers) yardımcı olmak için yardımcı bilgi dosyasını günceller.

Aşağıdakiler yukarıdakiler tarafından kullanılan yardımcı komutlardır; son kullanıcılar bunları genellikle doğrudan kullanmazlar.

git-http-fetch(1) HTTP üzerinden uzak bir Git deposundan indirme yapar.

git-http-push(1) HTTP/DAV üzerinden nesneleri başka bir depoya gönderir.

git-receive-pack(1) Depoya gönderilenleri (push) alır.

git-shell(1) Yalnızca Git SSH erişimi için kısıtlı oturum açma kabuğu (shell).

git-upload-archive(1) Arşivi git-archive komutuna geri gönderir.

git-upload-pack(1) Paketlenmiş nesneleri git-fetch-pack komutuna geri gönderir.

Dahili yardımcı komutlar Bunlar diğer komutlar tarafından kullanılan dahili yardımcı komutlardır; son kullanıcılar genellikle bunları doğrudan kullanmaz.

git-check-attr(1) gitattributes bilgilerini görüntüler.

git-check-ignore(1) gitignore / hariç tutma (exclude) dosyalarında hata ayıklaması yapar.

git-check-mailmap(1) Kişilerin kurallı adlarını ve e-posta adreslerini gösterir.

git-check-ref-format(1) Bir referans adının düzgün biçimlendirildiğinden emin olur.

git-column(1) Verileri sütunlar halinde görüntüler.

git-credential(1) Kullanıcı kimlik bilgilerini alır ve saklar.

git-credential-cache(1) Parolaları geçici olarak bellekte saklamak için yardımcı araç.

git-credential-store(1) Kimlik bilgilerini diskte saklamak için yardımcı araç.

git-fmt-merge-msg(1) Bir birleştirme işlemesi iletisi (merge commit message) üretir.

git-hook(1) Git kancalarını (hooks) çalıştırır.

git-interpret-trailers(1) İşleme iletilerindeki yapılandırılmış bilgileri ekler veya ayrıştırır.

git-mailinfo(1) Tek bir e-posta iletisinden yamayı ve yazarlık bilgilerini çıkarır.

git-mailsplit(1) Basit UNIX mbox bölücü programı.

git-merge-one-file(1) git-merge-index ile kullanılacak standart yardımcı program.

git-patch-id(1) Bir yama için benzersiz kimlik (ID) hesaplar.

git-sh-i18n(1) Git'in kabuk betikleri için i18n kurulum kodu.

git-sh-setup(1) Ortak Git kabuk betiği kurulum kodu.

git-stripspace(1) Gereksiz boşlukları kaldırır.

Kılavuzlar

Aşağıdaki belge sayfaları, Git kavramları hakkındaki kılavuzlardır.

gitcore-tutorial(7) Geliştiriciler için bir Git çekirdek (core) eğitimi.

gitcredentials(7) Git'e kullanıcı adları ve parolalar sağlama.

gitcvs-migration(7) CVS kullanıcıları için Git.

gitdiffcore(7) Diff çıktısını ince ayarlama.

giteveryday(7) Everyday Git için kullanışlı bir minimum komut kümesi.

gitfaq(7) Git kullanımı hakkında sıkça sorulan sorular.

gitglossary(7) Bir Git Sözlüğü (Glossary).

gitnamespaces(7) Git ad alanları (namespaces).

gitremote-helpers(7) Uzak depolarla etkileşim kurmak için yardımcı programlar.

gitsubmodules(7) Bir depoyu diğerinin içine yerleştirme.

gittutorial(7) Git'e eğitimsel bir giriş.

gittutorial-2(7) Git'e eğitimsel bir giriş: ikinci bölüm.

gitworkflows(7) An overview of recommended workflows with Git.

DEPO, KOMUT VE DOSYA ARAYÜZLERİ Bu belgeler, kullanıcıların doğrudan etkileşim kurması beklenen depo ve komut arayüzlerini tartışmaktadır. Kriterler hakkında daha fazla ayrıntı için git-help(1) kılavuzundaki --user-formats bölümüne bakın.

gitattributes(5) Yol başına (per path) öznitelikleri tanımlama.

gitcli(7) Git komut satırı arayüzü ve kuralları.

githooks(5) Git tarafından kullanılan kancalar (hooks).

gitignore(5) Göz ardı edilecek, kasıtlı olarak takip edilmeyen (untracked) dosyaları belirtir.

gitmailmap(5) Yazar/işleyici (committer) adlarını ve/veya e-posta adreslerini eşler.

gitmodules(5) Alt modül (submodule) özelliklerini tanımlama.

gitrepository-layout(5) Git Depo Düzeni (Repository Layout).

gitrevisions(7) Git için revizyonları ve aralıkları belirtme.

DOSYA BİÇİMLERİ, PROTOKOLLER VE DİĞER GELİŞTİRİCİ ARAYÜZLERİ Bu belgeler; dosya biçimlerini, ağ üzerinden aktarım protokollerini ve diğer Git geliştirici arayüzlerini tartışmaktadır. Bkz. git-help(1) kılavuzundaki --developer-interfaces.

gitformat-bundle(5) Demet (bundle) dosya biçimi.

gitformat-chunk(5) Yığın tabanlı (chunk-based) dosya biçimleri.

gitformat-commit-graph(5) Git commit-graph biçimi.

gitformat-index(5) Git dizin (index) biçimi.

gitformat-pack(5) Git paket (pack) biçimi.

gitformat-signature(5) Git kriptografik imza biçimleri.

gitprotocol-capabilities(5) Protokol v0 ve v1 yetenekleri.

gitprotocol-common(5) Çeşitli protokoller için ortak olan şeyler.

gitprotocol-http(5) Git HTTP tabanlı protokolleri.

gitprotocol-pack(5) Paketlerin ağ üzerinden nasıl aktarıldığı.

gitprotocol-v2(5) Git Wire Protokolü, Sürüm 2.

Yapılandırma Mekanizması

Git, depo başına ve kullanıcı başına olan özelleştirmeleri saklamak için basit bir metin biçimi kullanır. Böyle bir yapılandırma dosyası şuna benzeyebilir:

Bir '#' veya ';' karakteri yorum satırını belirtir.

; core variables [core] ; Don't trust file modes filemode = false

; user identity [user] name = "Junio C Hamano" email = "gitster@pobox.com"

Çeşitli komutlar yapılandırma dosyasından okuma yapar ve işlemlerini buna göre ayarlar. Bir liste ve yapılandırma mekanizması hakkında daha fazla ayrıntı için git-config(1) kılavuzuna bakın.

Tanımlayıcı Terminolojisi

Herhangi bir nesne türü için nesne adını belirtir. Bir blob nesnesi adını belirtir. Bir ağaç (tree) nesnesi adını belirtir. Bir işleme (commit) nesnesi adını belirtir. Bir ağaç, işleme veya etiket nesnesi adını belirtir. `` argümanı alan bir komut nihayetinde bir `` nesnesi üzerinde işlem yapmak ister, ancak bir `` nesnesine işaret eden `` ve `` nesnelerinin referanslarını otomatik olarak çözer (dereference). Bir işleme veya etiket nesnesi adını belirtir. `` argümanı alan bir komut nihayetinde bir `` nesnesi üzerinde işlem yapmak ister, ancak bir `` nesnesine işaret eden `` nesnelerinin referanslarını otomatik olarak çözer (dereference). Bir nesne türünün gerekli olduğunu belirtir. Şu anda şunlardan biridir: blob, tree, commit veya tag. Bir dosya adını belirtir; neredeyse her zaman `GIT_INDEX_FILE` değişkeninin tanımladığı ağaç yapısının köküne göre görecelidir.

Sembolik Tanımlayıcılar

Herhangi bir <object> nesnesini kabul eden herhangi bir Git komutu aşağıdaki sembolik gösterimi de kullanabilir:

HEAD mevcut dalın (branch) ucunu belirtir.

geçerli bir etiket adı (yani bir `refs/tags/` referansı). geçerli bir uç adı (yani bir `refs/heads/` referansı).

Nesne adlarını yazmanın yollarının daha eksiksiz bir listesi için gitrevisions(7) kılavuzundaki "REVİZYONLARI BELİRTME" (SPECIFYING REVISIONS) bölümüne bakın.

DOSYA/DİZİN YAPISI Lütfen gitrepository-layout(5) belgesine bakın.

Her bir kanca hakkında daha fazla ayrıntı için githooks(5) kılavuzunu okuyun.

Daha üst düzey SCM'ler, $GIT_DIR içinde ek bilgiler sağlayabilir ve bunları yönetebilir.

Terminoloji

Lütfen gitglossary(7) kılavuzuna bakın.

Ortam Değişkenleri

Çeşitli Git komutları ortam değişkenlerini dikkate alır ve davranışlarını değiştirir. "Boolean" olarak işaretlenen ortam değişkenleri, değerlerini Boolean değerli yapılandırma değişkenleriyle aynı şekilde alır; yani "true", "yes", "on" ve pozitif sayılar "yes" (evet) olarak kabul edilirken "false", "no", "off" ve "0" değerleri "no" (hayır) olarak kabul edilir.

İşte değişkenler:

Sistem HOME Kullanıcının ev dizininin (home directory) yolunu belirtir. Windows üzerinde, ayarlanmamışsa Git, hem $HOMEDRIVE hem de $HOMEPATH mevcutsa bir işlem ortam değişkenini $HOMEDRIVE$HOMEPATH değerine eşit olarak ayarlar; aksi takdirde $USERPROFILE mevcutsa bunu $USERPROFILE değerine eşitler.

Git Deposu Bu ortam değişkenleri tüm çekirdek Git komutları için geçerlidir. Not: Git'in üzerinde yer alan SCM'ler tarafından kullanılabileceklerini/geçersiz kılınabileceklerini unutmamak gerekir, bu nedenle yabancı bir ön uç kullanıyorsanız dikkatli olun.

GIT_INDEX_FILE Bu ortam değişkeni alternatif bir dizin (index) dosyası belirtir. Belirtilmemişse, varsayılan $GIT_DIR/index değeri kullanılır.

GIT_INDEX_VERSION Bu ortam değişkeni, dizin dosyası yazılırken hangi dizin sürümünün kullanılacağını belirtir. Mevcut dizin dosyalarını etkilemez. Varsayılan olarak dizin dosyası sürümü 2 veya 3 kullanılır. Daha fazla bilgi için git-update-index(1) kılavuzuna bakın.

GIT_OBJECT_DIRECTORY Nesne depolama dizini bu ortam değişkeni aracılığıyla belirtilirse, sha1 dizinleri bunun altında oluşturulur; aksi takdirde varsayılan $GIT_DIR/objects dizini kullanılır.

GIT_ALTERNATE_OBJECT_DIRECTORIES Git nesnelerinin değiştirilemez yapısı nedeniyle, eski nesneler paylaşılan, salt okunur dizinlerde arşivlenebilir. Bu değişken, Git nesnelerini aramak için kullanılabilecek Git nesne dizinlerinin iki nokta ":" ile ayrılmış (Windows üzerinde ";" ile ayrılmış) bir listesini belirtir. Yeni nesneler bu dizinlere yazılmayacaktır.

Çift tırnak " ile başlayan girdiler, C tarzı tırnak içine alınmış yollar olarak yorumlanacaktır; baştaki ve sondaki çift tırnaklar kaldırılacak ve ters eğik çizgi kaçışlarına uyulacaktır. Örneğin, "path-with-\"-and-:-in-it":vanilla-path değeri iki yola sahiptir: path-with-"-and-:-in-it ve vanilla-path.

GIT_DIR GIT_DIR ortam değişkeni ayarlanmışsa, deponun tabanı için varsayılan .git yerine kullanılacak bir yolu belirtir. --git-dir komut satırı seçeneği de bu değeri ayarlar.

GIT_WORK_TREE Çalışma ağacının kök dizininin yolunu ayarlar. Bu durum, --work-tree komut satırı seçeneği ve core.worktree yapılandırma değişkeni ile de kontrol edilebilir.

GIT_NAMESPACE Git ad alanını ayarlar; ayrıntılar için gitnamespaces(7) kılavuzuna bakın. --namespace komut satırı seçeneği de bu değeri ayarlar.

GIT_CEILING_DIRECTORIES Bu, iki nokta üst üste ile ayrılmış mutlak yolların bir listesi olmalıdır. Ayarlanırsa, Git'in bir depo dizini ararken yukarı doğru dizin değiştirmemesi (chdir up) gereken dizinlerin bir listesidir (yavaş yüklenen ağ dizinlerini hariç tutmak için kullanışlıdır). Mevcut çalışma dizinini veya komut satırında ya da ortamda ayarlanan bir GIT_DIR değerini hariç tutmaz. Normalde Git, bu listedeki girdileri okumak ve bunları mevcut dizinle karşılaştırmak için mevcut olabilecek herhangi bir sembolik bağlantıyı çözmek zorundadır. Ancak, bu erişim bile yavaşsa, Git'e sonraki girdilerin sembolik bağlantı olmadığını ve çözülmesine gerek olmadığını bildirmek için listeye boş bir girdi ekleyebilirsiniz; örneğin, GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink.

GIT_DISCOVERY_ACROSS_FILESYSTEM .git depo dizini olmayan bir dizinde çalıştırıldığında Git, çalışma ağacının en üstünü bulmak için üst dizinlerde böyle bir dizin aramaya çalışır, ancak varsayılan olarak dosya sistemi sınırlarını aşmaz. Bu Boolean ortam değişkeni, Git'e dosya sistemi sınırlarında durmamasını bildirmek için true olarak ayarlanabilir. GIT_CEILING_DIRECTORIES gibi, bu da GIT_DIR üzerinden veya komut satırında ayarlanan açık bir depo dizinini etkilemeyecektir.

GIT_COMMON_DIR Bu değişken bir yola ayarlanırsa, normalde $GIT_DIR içinde bulunan çalışma ağacı dışındaki (non-worktree) dosyalar bunun yerine bu yoldan alınacaktır. HEAD veya index gibi çalışma ağacına özgü dosyalar $GIT_DIR içinden alınır. Ayrıntılar için gitrepository-layout(5) ve git-worktree(1) kılavuzlarına bakın. Bu değişken, GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY... gibi diğer yol değişkenlerine göre daha düşük önceliğe sahiptir.

GIT_DEFAULT_HASH Bu değişken ayarlanırsa, yeni depolar için varsayılan karma (hash) algoritması bu değere ayarlanacaktır. Klonlama (clone) sırasında bu değer yoksayılır ve her zaman uzak deponun ayarı kullanılır. Varsayılan değer "sha1"dir. Bkz. git-init(1) kılavuzundaki --object-format.

GIT_DEFAULT_REF_FORMAT Bu değişken ayarlanırsa, yeni depolar için varsayılan referans arka uç biçimi (reference backend format) bu değere ayarlanacaktır. Varsayılan değer "files"dır. Bkz. git-init(1) kılavuzundaki --ref-format.

Git İşlemeleri (Commits) GIT_AUTHOR_NAME İşleme (commit) veya etiket (tag) nesneleri oluştururken ya da reflog'ları yazarken yazar kimliğinde kullanılan, insan tarafından okunabilir ad. user.name ve author.name yapılandırma ayarlarını geçersiz kılar.

GIT_AUTHOR_EMAIL İşleme veya etiket nesneleri oluştururken ya da reflog'ları yazarken yazar kimliğinde kullanılan e-posta adresi. user.email ve author.email yapılandırma ayarlarını geçersiz kılar.

GIT_AUTHOR_DATE İşleme veya etiket nesneleri oluştururken ya da reflog'ları yazarken yazar kimliği için kullanılan tarih. Geçerli biçimler için git-commit(1) kılavuzuna bakın.

GIT_COMMITTER_NAME İşleme veya etiket nesneleri oluştururken ya da reflog'ları yazarken işleyici (committer) kimliğinde kullanılan, insan tarafından okunabilir ad. user.name ve committer.name yapılandırma ayarlarını geçersiz kılar.

GIT_COMMITTER_EMAIL İşleme veya etiket nesneleri oluştururken ya da reflog'ları yazarken yazar kimliğinde kullanılan e-posta adresi. user.email ve committer.email yapılandırma ayarlarını geçersiz kılar.

GIT_COMMITTER_DATE İşleme veya etiket nesneleri oluştururken ya da reflog'ları yazarken işleyici kimliği için kullanılan tarih. Geçerli biçimler için git-commit(1) kılavuzuna bakın.

EMAIL Başka hiçbir ilgili ortam değişkeni veya yapılandırma ayarı belirlenmemişse, yazar ve işleyici kimliklerinde kullanılan e-posta adresi.

Git Diff'leri GIT_DIFF_OPTS Tek geçerli ayar, bir birleşik diff (unified diff) oluşturulduğunda gösterilecek bağlam satırı (context lines) sayısını ayarlamak için "--unified=??" veya "-u??" seçeneğidir. Bu, Git diff komut satırında geçirilen herhangi bir "-U" veya "--unified" seçeneği değerine göre öncelik kazanır.

GIT_EXTERNAL_DIFF GIT_EXTERNAL_DIFF ortam değişkeni ayarlandığında, diff'leri üretmek için bu değişken tarafından adlandırılan program çağrılır ve Git kendi yerleşik diff mekanizmasını kullanmaz. Eklenen, kaldırılan veya değiştirilen bir yol için GIT_EXTERNAL_DIFF 7 parametre ile çağrılır:

path old-file old-hex old-mode new-file new-hex new-mode

burada:

<old|new>-file GIT_EXTERNAL_DIFF aracının <old|new> içeriğini okumak için kullanabileceği dosyalardır,

<old|new>-hex 40 basamaklı onaltılık (hex) SHA-1 karmalarıdır,

<old|new>-mode dosya modlarının sekizlik (octal) gösterimidir.

Dosya parametreleri, kullanıcının çalışan dosyasına (örneğin "git-diff-files" içindeki new-file), /dev/null değerine (örneğin yeni bir dosya eklendiğinde old-file) veya geçici bir dosyaya (örneğin dizindeki old-file) işaret edebilir. GIT_EXTERNAL_DIFF geçici dosyanın bağlantısını kesme (unlink) konusunda endişelenmemelidir; dosya GIT_EXTERNAL_DIFF sonlandığında kaldırılır.

Birleştirilmemiş (unmerged) bir yol için, GIT_EXTERNAL_DIFF 1 parametreyle çağrılır: <path>.

GIT_EXTERNAL_DIFF çağrıldığı her yol için iki ortam değişkeni ayarlanır: GIT_DIFF_PATH_COUNTER ve GIT_DIFF_PATH_TOTAL.

GIT_EXTERNAL_DIFF_TRUST_EXIT_CODE Bu Boolean ortam değişkeni true olarak ayarlanırsa, GIT_EXTERNAL_DIFF komutunun girdi dosyalarını eşit olarak görmesi durumunda çıkış kodu 0, farklı görmesi durumunda ise diff(1) gibi 1 döndürmesi beklenir. Varsayılan değer olan false olarak ayarlanırsa, komutun eşitlikten bağımsız olarak çıkış kodu 0 döndürmesi beklenir. Diğer herhangi bir çıkış kodu Git'in ölümcül bir hata bildirmesine neden olur.

GIT_DIFF_PATH_COUNTER Her yol için bir artırılan, 1 tabanlı bir sayaç.

GIT_DIFF_PATH_TOTAL Toplam yol sayısı.

diğerleri GIT_MERGE_VERBOSITY Özyinelemeli birleştirme stratejisi (recursive merge strategy) tarafından gösterilen çıktı miktarını kontrol eden bir sayı. merge.verbosity ayarını geçersiz kılar. Bkz. git-merge(1).

GIT_PAGER Bu ortam değişkeni $PAGER değişkenini geçersiz kılar. Boş bir dizeye veya "cat" değerine ayarlanırsa, Git bir sayfalayıcı başlatmaz. Ayrıca git-config(1) kılavuzundaki core.pager seçeneğine bakın.

GIT_PROGRESS_DELAY İsteğe bağlı ilerleme göstergelerinin gösterilmesinden önce kaç saniye bekleneceğini kontrol eden bir sayı. Varsayılan değer 2'dir.

GIT_EDITOR Bu ortam değişkeni $EDITOR ve $VISUAL değişkenlerini geçersiz kılar. Etkileşimli modda bir düzenleyici başlatılacağı zaman birkaç Git komutu tarafından kullanılır. Ayrıca git-var(1) kılavuzuna ve git-config(1) kılavuzundaki core.editor seçeneğine bakın.

GIT_SEQUENCE_EDITOR Bu ortam değişkeni, etkileşimli bir rebase todo listesini düzenlerken yapılandırılmış Git düzenleyicisini geçersiz kılar. Ayrıca git-rebase(1) kılavuzuna ve git-config(1) kılavuzundaki sequence.editor seçeneğine bakın.

GIT_SSH, GIT_SSH_COMMAND Bu ortam değişkenlerinden biri ayarlanmışsa, git fetch ve git push uzak bir sisteme bağlanmaları gerektiğinde ssh yerine belirtilen komutu kullanacaktır. Yapılandırılmış komuta iletilen komut satırı parametreleri ssh varyantı tarafından belirlenir. Ayrıntılar için git-config(1) kılavuzundaki ssh.variant seçeneğine bakın.

$GIT_SSH_COMMAND, $GIT_SSH değişkenine göre öncelik kazanır ve kabuk tarafından yorumlanır, bu da ek argümanların dahil edilmesini sağlar. Öte yandan $GIT_SSH, yalnızca bir programın yolu olmalıdır (ek argümanlar gerekiyorsa bu bir sarmalayıcı kabuk betiği (wrapper shell script) olabilir).

Genellikle istenen seçenekleri kişisel .ssh/config dosyanız aracılığıyla yapılandırmak daha kolaydır. Daha fazla ayrıntı için lütfen ssh belgelerinize başvurun.

GIT_SSH_VARIANT Bu ortam değişkeni ayarlanırsa, GIT_SSH/GIT_SSH_COMMAND/core.sshCommand değişkenlerinin OpenSSH, plink veya tortoiseplink programlarından hangisini ifade ettiğine dair Git'in otomatik algılamasını geçersiz kılar. Bu değişken, aynı amaca hizmet eden ssh.variant yapılandırma ayarını geçersiz kılar.

GIT_SSL_NO_VERIFY Bu ortam değişkeninin ayarlanması ve herhangi bir değerle dışa aktarılması, Git'e HTTPS üzerinden fetch veya push yaparken SSL sertifikasını doğrulamamasını söyler.

GIT_ATTR_SOURCE gitattributes dosyasının okunacağı tree-ish nesnesini ayarlar.

GIT_ASKPASS Bu ortam değişkeni ayarlanırsa, parolalar veya parola öbekleri (passphrases) alması gereken Git komutları (örneğin HTTP veya IMAP kimlik doğrulaması için) bu programı komut satırı argümanı olarak uygun bir istemle çağıracak ve parolayı onun STDOUT'undan okuyacaktır. Ayrıca git-config(1) kılavuzundaki core.askPass seçeneğine bakın.

GIT_TERMINAL_PROMPT Bu Boolean ortam değişkeni false olarak ayarlanırsa, Git terminalde komut istemi göstermez (örneğin HTTP kimlik doğrulaması isterken).

GIT_CONFIG_GLOBAL, GIT_CONFIG_SYSTEM Yapılandırmayı genel (global) veya sistem düzeyindeki yapılandırma dosyaları yerine verilen dosyalardan alır. GIT_CONFIG_SYSTEM ayarlanırsa, derleme zamanında tanımlanan sistem yapılandırma dosyası (genellikle /etc/gitconfig) okunmayacaktır. Benzer şekilde, GIT_CONFIG_GLOBAL ayarlanırsa ne $HOME/.gitconfig ne de $XDG_CONFIG_HOME/git/config okunacaktır. İlgili düzeydeki yapılandırma dosyalarının okunmasını atlamak için /dev/null olarak ayarlanabilir.

GIT_CONFIG_NOSYSTEM Sistem genelindeki $(prefix)/etc/gitconfig dosyasındaki ayarların okunmasının atlanıp atlanmayacağı. Bu Boolean ortam değişkeni, titiz bir betik için öngörülebilir bir ortam oluşturmak üzere $HOME ve $XDG_CONFIG_HOME ile birlikte kullanılabilir; ya da bunu düzeltmek için yeterli izinlere sahip birini beklerken hatalı bir /etc/gitconfig dosyasını kullanmaktan geçici olarak kaçınmak için true olarak ayarlayabilirsiniz.

GIT_FLUSH Bu Boolean ortam değişkeni true olarak ayarlanırsa; git blame (artan modda), git rev-list, git log, git check-attr ve git check-ignore gibi komutlar, her kayıt boşaltıldıktan sonra çıktı akışının boşaltılmasını (flush) zorlayacaktır. Bu değişken false olarak ayarlanırsa, bu komutların çıktısı tamamen arabelleğe alınmış (buffered) G/Ç kullanılarak yapılacaktır. Bu ortam değişkeni ayarlanmazsa, Git stdout'un bir dosyaya yönlendirilip yönlendirilmediğine bağlı olarak arabelleğe alınmış veya kayıt yönelimli boşaltmayı seçecektir.

GIT_TRACE Genel izleme (trace) iletilerini etkinleştirir, örneğin takma ad (alias) genişletmesi, yerleşik komut yürütme ve harici komut yürütme.

Bu değişken "1", "2" veya "true" (karşılaştırma büyük/küçük harf duyarsızdır) olarak ayarlanırsa, izleme iletileri stderr'e yazdırılacaktır.

Değişken 2'den büyük ve 10'dan küçük (kesinlikle) bir tam sayı değerine ayarlanırsa, Git bu değeri açık bir dosya tanımlayıcısı (file descriptor) olarak yorumlayacak ve izleme iletilerini bu dosya tanımlayıcısına yazmaya çalışacaktır.

Alternatif olarak, değişken mutlak bir yola (/ karakteriyle başlayan) ayarlanırsa, Git bunu bir dosya yolu olarak yorumlayacak ve izleme iletilerini bu dosyanın sonuna eklemeye çalışacaktır.

Değişkenin ayarının kaldırılması veya boş, "0" veya "false" (büyük/küçük harf duyarsız) olarak ayarlanması izleme iletilerini devre dışı bırakır.

GIT_TRACE_FSMONITOR Dosya sistemi izleme (filesystem monitor) uzantısı için izleme iletilerini etkinleştirir. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_PACK_ACCESS Herhangi bir pakete (pack) yapılan tüm erişimler için izleme iletilerini etkinleştirir. Her erişim için, paket dosyasının adı ve paketteki bir ofset (offset) kaydedilir. Bu, paketle ilgili bazı performans sorunlarının giderilmesinde yardımcı olabilir. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_PACKET Belirli bir programa giren veya programdan çıkan tüm paketler (packets) için izleme iletilerini etkinleştirir. Bu, nesne müzakeresi (object negotiation) veya diğer protokol sorunlarının hata ayıklanmasında yardımcı olabilir. İzleme, "PACK" ile başlayan bir pakette kapatılır (ancak aşağıdaki GIT_TRACE_PACKFILE bölümüne bakın). Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_PACKFILE Belirli bir program tarafından gönderilen veya alınan paket dosyalarının (packfiles) izlenmesini etkinleştirir. Diğer izleme çıktılarının aksine, bu izleme harfi harfinedir: üstbilgi (header) ve ikili (binary) verilerin tırnak içine alınması yoktur. Bunu terminalde görüntülemek veya diğer izleme çıktılarıyla karıştırmak yerine neredeyse kesinlikle bir dosyaya yönlendirmek istersiniz (örneğin, GIT_TRACE_PACKFILE=/tmp/my.pack).

Bunun şu anda yalnızca klonlamaların (clones) ve veri çekmelerin (fetches) istemci tarafı için uygulandığını unutmayın.

GIT_TRACE_PERFORMANCE Performansla ilgili izleme iletilerini etkinleştirir, örneğin her Git komutunun toplam yürütülme süresi. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_REFS Referans veritabanındaki işlemler için izleme iletilerini etkinleştirir. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_SETUP Git kurulum aşamasını tamamladıktan sonra .git dizinini, çalışma ağacını ve mevcut çalışma dizinini yazdıran izleme iletilerini etkinleştirir. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_SHALLOW Sığ (shallow) depoların çekilmesinde / klonlanmasında hata ayıklamaya yardımcı olabilecek izleme iletilerini etkinleştirir. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_CURL Git taşıma protokolünün (transport protocol) tüm gelen ve giden verilerinin, açıklayıcı bilgiler de dahil olmak üzere, tam bir curl izleme dökümünü (curl full trace dump) etkinleştirir. Bu, komut satırında curl --trace-ascii yapmaya benzer. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE bölümüne bakın.

GIT_TRACE_CURL_NO_DATA Bir curl izlemesi etkinleştirildiğinde (yukarıdaki GIT_TRACE_CURL bölümüne bakın), verileri dökmez (yani yalnızca bilgi satırlarını ve üstbilgileri döker).

GIT_TRACE2 "trace2" kütüphanesinden daha ayrıntılı izleme iletilerini etkinleştirir. GIT_TRACE2 çıktısı, insanın okuyabilmesi için basit metin tabanlı bir biçimdir.

Bu değişken "1", "2" veya "true" (karşılaştırma büyük/küçük harf duyarsızdır) olarak ayarlanırsa, izleme iletileri stderr'e yazdırılacaktır.

Değişken 2'den büyük ve 10'dan küçük (kesinlikle) bir tam sayı değerine ayarlanırsa, Git bu değeri açık bir dosya tanımlayıcısı olarak yorumlayacak ve izleme iletilerini bu dosya tanımlayıcısına yazmaya çalışacaktır.

Alternatif olarak, değişken mutlak bir yola (/ karakteriyle başlayan) ayarlanırsa, Git bunu bir dosya yolu olarak yorumlayacak ve izleme iletilerini bu dosyanın sonuna eklemeye çalışacaktır. Yol zaten mevcutsa ve bir dizinse, izleme iletileri o dizindeki dosyalara (işlem başına bir tane) yazılacaktır; bu dosyalar SID'nin son bileşenine ve isteğe bağlı bir sayaca (dosya adı çakışmalarını önlemek için) göre adlandırılacaktır.

Buna ek olarak, değişken af_unix:[<socket-type>:]<absolute-pathname> olarak ayarlanırsa Git, yolu bir Unix Alan Soketi (Unix Domain Socket) olarak açmaya çalışacaktır. Soket türü stream veya dgram olabilir.

Değişkenin ayarının kaldırılması veya boş, "0" veya "false" (büyük/küçük harf duyarsız) olarak ayarlanması izleme iletilerini devre dışı bırakır.

Tüm ayrıntılar için Trace2 belgelerine[2] bakın.

GIT_TRACE2_EVENT Bu ayar, makine yorumlamasına uygun JSON tabanlı bir biçim yazar. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE2 bölümüne ve tüm ayrıntılar için Trace2 belgelerine[2] bakın.

GIT_TRACE2_PERF GIT_TRACE2 içinde bulunan metin tabanlı iletilere ek olarak bu ayar, iç içe geçmiş bölgeleri anlamak için sütun tabanlı bir biçim yazar. Kullanılabilir izleme çıktısı seçenekleri için GIT_TRACE2 bölümüne ve tüm ayrıntılar için Trace2 belgelerine[2] bakın.

GIT_TRACE_REDACT Varsayılan olarak, izleme etkinleştirildiğinde Git; çerezlerin (cookies) değerlerini, "Authorization:" üstbilgisini, "Proxy-Authorization:" üstbilgisini ve paket dosyası URI'lerini sansürler (redacts). Bu sansürlemeyi önlemek için bu Boolean ortam değişkenini false olarak ayarlayın.

GIT_NO_REPLACE_OBJECTS Bu ortam değişkeninin ayarlanması ve dışa aktarılması Git'e değiştirme referanslarını yoksaymasını ve Git nesnelerini değiştirmemesini söyler.

GIT_LITERAL_PATHSPECS Bu Boolean ortam değişkeninin true olarak ayarlanması, Git'in tüm yol belirteçlerini dosya kalıbı (glob) desenleri yerine harfi harfine ele almasına neden olacaktır. Örneğin, GIT_LITERAL_PATHSPECS=1 git log -- '*.c' komutunu çalıştırmak, glob *.c deseninin eşleştiği yolları değil, doğrudan *.c yoluna dokunan işlemeleri arayacaktır. Git'e harfi harfine yollar besliyorsanız bunu isteyebilirsiniz (örneğin, daha önce size git ls-tree, --raw diff çıktısı vb. tarafından verilen yollar).

GIT_GLOB_PATHSPECS Bu Boolean ortam değişkeninin true olarak ayarlanması, Git'in tüm yol belirteçlerini glob desenleri ("glob" sihri olarak da bilinir) olarak ele almasına neden olacaktır.

GIT_NOGLOB_PATHSPECS Bu Boolean ortam değişkeninin true olarak ayarlanması, Git'in tüm yol belirteçlerini harfi harfine ("literal" sihri olarak da bilinir) ele almasına neden olacaktır.

GIT_ICASE_PATHSPECS Bu Boolean ortam değişkeninin true olarak ayarlanması, Git'in tüm yol belirteçlerini büyük/küçük harfe duyarsız olarak ele almasına neden olacaktır.

GIT_NO_LAZY_FETCH Bu Boolean ortam değişkeninin true olarak ayarlanması, Git'e eksik nesneleri promisor uzak sunucusundan isteğe bağlı olarak otomatik çekmemesini söyler.

GIT_REFLOG_ACTION Bir referans güncellendiğinde, referansın neden güncellendiğinin (genellikle referansı güncelleyen üst düzey komutun adı) nedenini izlemek için, referansın eski ve yeni değerlerine ek olarak reflog girdileri oluşturulur. Betikleştirilmiş bir Porselen komutu, son kullanıcı tarafından en üst düzey komut olarak çağrıldığında reflog gövdesine kaydedilmek üzere adını bu değişkene ayarlamak için git-sh-setup içindeki set_reflog_action yardımcı fonksiyonunu kullanabilir.

GIT_REF_PARANOIA Bu Boolean ortam değişkeni false olarak ayarlanırsa, referans listeleri üzerinde yinelerken (iterating) bozuk veya kötü adlandırılmış referansları yoksayar. Normalde Git, bu tür referansları dahil etmeye çalışır ve bu da bazı işlemlerin başarısız olmasına neden olabilir. Potansiyel olarak yıkıcı işlemlerin (örneğin git-prune(1)) bozuk referansları yoksaymak (ve dolayısıyla işaret ettikleri geçmişi kurtarmaya değer görmemek) yerine yarıda kesilmesi daha iyi olduğundan, bu genellikle tercih edilir. Varsayılan değer 1'dir (yani tüm işlemleri algılama ve durdurma konusunda paranoyak olun). Normal şartlarda bunu 0 olarak ayarlamanıza gerek olmamalıdır, ancak bozuk bir depodan veri kurtarmaya çalışırken yararlı olabilir.

GIT_COMMIT_GRAPH_PARANOIA İşleme grafiğinden (commit-graph) bir işleme nesnesi yüklerken Git, nesne veritabanında nesnenin varlık kontrolünü gerçekleştirir. Bu, silinmiş işlemelere referanslar içeren güncel olmayan işleme grafikleriyle ilgili sorunları önlemek için yapılır, ancak beraberinde bir performans yükü getirir.

Varsayılan değer "false"tur ve yukarıda belirtilen davranışı devre dışı bırakır. Bunun "true" olarak ayarlanması, varlık kontrolünü etkinleştirir, böylece güncel olmayan işlemeler performans pahasına işleme grafiğinden asla döndürülmez.

GIT_ALLOW_PROTOCOL Protokollerin iki nokta üst üste ile ayrılmış bir listesine ayarlanırsa, protocol.allow "never" (asla) olarak ayarlanmış ve listelenen protokollerin her biri protocol.<name>.allow ayarını "always" (her zaman) olarak belirlemiş gibi davranır (mevcut herhangi bir yapılandırmayı geçersiz kılar). Daha fazla ayrıntı için git-config(1) kılavuzundaki protocol.allow açıklamasına bakın.

GIT_PROTOCOL_FROM_USER Kullanıcı durumuna göre yapılandırılmış fetch/push/clone tarafından kullanılan protokolleri engellemek için bu Boolean ortam değişkenini false olarak ayarlayın. Bu, güvenilmeyen bir depodan özyinelemeli alt modül başlatılmasını kısıtlamak veya git komutlarına potansiyel olarak güvenilmeyen URL'ler besleyen programlar için kullanışlıdır. Daha fazla ayrıntı için git-config(1) kılavuzuna bakın.

GIT_PROTOCOL Yalnızca dahili kullanım içindir. Kablolu iletişim protokolünün (wire protocol) el sıkışmasında (handshaking) kullanılır. İsteğe bağlı değerlere sahip, iki nokta üst üste : ile ayrılmış anahtar listesi içerir: <key>[=<value>]. Bilinmeyen anahtarların ve değerlerin varlığı yoksayılmalıdır.

Sunucuların, bu değişkenin bazı taşıma yolları üzerinden geçmesine izin verecek şekilde yapılandırılması gerekebileceğini unutmayın. Yerel depolara erişirken (yani file:// veya bir dosya sistemi yolu) ve ayrıca git:// protokolü üzerinden otomatik olarak yayılacaktır. git-over-http için, çoğu yapılandırmada otomatik olarak çalışmalıdır, ancak git-http-backend(1) kılavuzundaki tartışmaya bakın. git-over-ssh için, ssh sunucusunun istemcilerin bu değişkeni geçirmesine izin verecek şekilde yapılandırılması gerekebilir (örneğin OpenSSH ile AcceptEnv GIT_PROTOCOL kullanarak).

Bu yapılandırma isteğe bağlıdır. Değişken yayılmazsa, istemciler orijinal "v0" protokolüne geri dönecektir (ancak bazı performans iyileştirmelerini veya özelliklerini kaçırabilirler). Bu değişken şu anda yalnızca klonlamaları (clones) ve veri çekmeleri (fetches) etkiler; henüz gönderimler (pushes) için kullanılmamaktadır (ancak gelecekte kullanılabilir).

GIT_OPTIONAL_LOCKS Bu Boolean ortam değişkeni false olarak ayarlanırsa, Git talep edilen herhangi bir işlemi, kilit almayı gerektiren isteğe bağlı alt işlemleri gerçekleştirmeden tamamlayacaktır. Örneğin bu durum, bir yan etki olarak git status komutunun dizini (index) yenilemesini önleyecektir. Bu, depodaki diğer işlemlerle kilit çelişkişine neden olmak istemeyen arka planda çalışan işlemler için kullanışlıdır. Varsayılan değer 1'dir.

GIT_REDIRECT_STDIN, GIT_REDIRECT_STDOUT, GIT_REDIRECT_STDERR Yalnızca Windows: standart girdi/çıktı/hata işleyicilerinin ortam değişkenleri tarafından belirtilen yollara yönlendirilmesine izin verir. Bu, özellikle standart işleyicileri CreateProcess() aracılığıyla geçirmenin kurallı yolunun bir seçenek olmadığı çok iş parçacıklı uygulamalarda kullanışlıdır; çünkü bu, işleyicilerin miras alınabilir (inheritable) olarak işaretlenmesini gerektirir (ve sonuç olarak başlatılan her işlem bunları miras alarak düzenli Git işlemlerini engelleyebilir). Birincil olarak amaçlanan kullanım durumu, iletişim için adlandırılmış borular (named pipes) kullanmaktır (örneğin \\.\pipe\my-git-stdin-123).

Desteklenen iki özel değer vardır: off ilgili standart işleyiciyi kapatır ve GIT_REDIRECT_STDERR değeri 2>&1 ise standart hata, standart çıktıyla aynı işleyiciye yönlendirilir.

GIT_PRINT_SHA1_ELLIPSIS (kullanımdan kaldırıldı) yes olarak ayarlanırsa, kısaltılmış bir SHA-1 değerinin ardından bir üç nokta (...) yazdırır. Bu durum, ayrılmış HEAD göstergelerini (git-checkout(1)) ve ham diff çıktısını (git-diff(1)) etkiler. Bahsedilen durumlarda üç nokta yazdırılması artık yeterli görülmemektedir ve buna yönelik desteğin yakın gelecekte (değişkenle birlikte) kaldırılması muhtemeldir.

GIT_ADVICE 0 olarak ayarlanırsa, tüm tavsiye iletilerini devre dışı bırakır. Bu iletilerin amacı, insan kullanıcılara sorunlu durumlardan kurtulmalarına veya yeni özelliklerden yararlanmalarına yardımcı olabilecek ipuçları sağlamaktır. Kullanıcılar advice.* yapılandırma anahtarlarını kullanarak münferit iletileri devre dışı bırakabilirler. Bu iletiler, Git işlemlerini yürüten araçlar için kesintiye neden olabileceğinden, iletileri devre dışı bırakmak için bu değişken mevcuttur. (Küresel --no-advice seçeneği de mevcuttur, ancak eski Git sürümleri bu seçenek anlaşılmadığında başarısız olabilir. Ortam değişkeni, onu anlamayan Git sürümleri tarafından yoksayılacaktır.)

Tartışma

Aşağıdakiler hakkında daha fazla ayrıntı, user-manual[3] (Kullanıcı Kılavuzu) kılavuzunun Git kavramları bölümünden ve gitcore-tutorial(7) kılavuzundan edinilebilir.

Bir Git projesi normalde en üst düzeyde bir ".git" alt dizini içeren bir çalışma dizininden oluşur. .git dizini, diğer şeylerin yanı sıra, projenin eksiksiz geçmişini temsil eden sıkıştırılmış bir nesne veritabanını, bu geçmişi çalışma ağacının mevcut içeriğine bağlayan bir "index" (dizin) dosyasını ve bu geçmişe işaret eden etiketler ve dal uçları gibi adlandırılmış işaretçileri içerir.

Nesne veritabanı üç ana türde nesne içerir: dosya verilerini tutan bloblar; dizin hiyerarşilerini oluşturmak için bloblara ve diğer ağaçlara işaret eden ağaçlar (trees) ve her biri tek bir ağaca ve belirli sayıda ata işlemeye (parent commits) referans veren işlemeler (commits).

Diğer sistemlerin "değişiklik kümesi" (changeset) veya "sürüm" olarak adlandırdığı şeye eşdeğer olan işleme (commit), projenin geçmişindeki bir adımı temsil eder ve her bir ata (parent), hemen önceki adımı temsil eder. Birden fazla ataya sahip işlemeler, bağımsız geliştirme hatlarının birleştirilmesini (merge) temsil eder.

Tüm nesneler, içeriklerinin normalde 40 onaltılık basamaktan oluşan bir dize olarak yazılan SHA-1 karmasına göre adlandırılır. Bu tür adlar küresel olarak benzersizdir. Bir işlemeye kadar uzanan tüm geçmiş, yalnızca o işlemenin imzalanmasıyla garanti altına alınabilir. Dördüncü bir nesne türü olan etiket (tag), bu amaç için sağlanmıştır.

Nesneler ilk oluşturulduklarında ayrı dosyalarda saklanır, ancak verimlilik sağlamak adına daha sonra "paket dosyaları" (pack files) halinde birlikte sıkıştırılabilirler.

Referanslar (refs) adı verilen adlandırılmış işaretçiler geçmişteki ilginç noktaları işaretler. Bir referans, bir nesnenin SHA-1 adını veya başka bir referansın adını içerebilir (ikincisine "sembolik referans" denir). refs/head/ ile başlayan adlara sahip referanslar, geliştirilmekte olan bir dalın en son işlemesinin (veya "ucu" - "head") SHA-1 adını içerir. İlgilenilen etiketlerin SHA-1 adları refs/tags/ altında saklanır. HEAD adlı sembolik referans, o anda çalışma kopyası çıkarılmış (checked-out) dalın adını içerir.

Dizin (index) dosyası, tüm yolların bir listesi ve her yol için bir blob nesnesi ile bir öznitelikler kümesi ile başlatılır. Blob nesnesi, mevcut dalın ucundaki dosyanın içeriğini temsil eder. Öznitelikler (son değiştirilme zamanı, boyut vb.) çalışma ağacındaki ilgili dosyadan alınır. Çalışma ağacında sonradan yapılan değişiklikler bu özniteliklerin karşılaştırılmasıyla bulunabilir. Dizin yeni içerikle güncellenebilir ve dizinde saklanan içerikten yeni işlemeler oluşturulabilir.

Dizin ayrıca, verilen bir yol adı için birden fazla girdiyi ("aşamalar" - "stages" olarak adlandırılır) saklama yeteneğine de sahiptir. Bu aşamalar, bir birleştirme işlemi devam ederken bir dosyanın birleştirilmemiş çeşitli sürümlerini tutmak için kullanılır.

Güvenlik

Bazı yapılandırma seçenekleri ve kanca (hook) dosyaları Git'in rastgele kabuk komutları çalıştırmasına neden olabilir. Yapılandırma ve kancalar git clone kullanılarak kopyalanmadığından, güvenilmeyen içeriğe sahip uzak depoları klonlamak, bunları git log ile incelemek vb. işlemler genellikle güvenlidir.

Ancak, .git dizininin kendisi güvenilmeyen bir kaynaktan geldiğinde, o .git dizininde (veya onu çevreleyen çalışma ağacında) Git komutlarını çalıştırmak güvenli değildir. Yapılandırmasındaki ve kancalarındaki komutlar her zamanki gibi yürütür.

Varsayılan olarak Git, deponun sahibi komutu çalıştıran kullanıcıdan başkası olduğunda çalışmayı reddedecektir. git-config(1) kılavuzundaki safe.directory girdisine bakın. Bu durum çok kullanıcılı bir ortamda korunmanıza yardımcı olsa da sahibi siz olan güvenilmeyen depolar da edinebileceğinizi unutmayın (örneğin, güvenilmeyen bir kaynaktan bir zip dosyası veya tarball çıkarırsanız). Bu tür durumlarda, öncelikle güvenilmeyen depoyu "arındırmanız" (sanitize) gerekir.

Güvenilmeyen bir .git dizininiz varsa, temiz bir kopya elde etmek için önce onu git clone --no-local ile klonlamalısınız. Git, bir klonun veya veri çekmenin sunucu tarafını işleyen upload-pack tarafından çalıştırılacak seçenekler ve kancalar kümesini kısıtlar, ancak upload-pack üzerindeki saldırı yüzeyinin geniş olduğunu, dolayısıyla bunun bir miktar risk taşıdığını unutmayın. En güvenli yol, depoyu yetkisiz bir kullanıcı olarak sunmaktır (ister git-daemon(1), ister ssh veya kullanıcı kimliklerini (UID) değiştirmek için diğer araçları kullanarak). git-upload-pack(1) kılavuzunun GÜVENLİK (SECURITY) bölümündeki tartışmaya bakın.

Ek Belgeler

Git kullanmaya başlamak için "açıklama" bölümündeki referanslara bakın. Aşağıdakiler muhtemelen ilk kez kullanacak bir kullanıcı için gereğinden fazla ayrıntıdır.

user-manual[3] kılavuzunun Git kavramları bölümü ve gitcore-tutorial(7) kılavuzunun her ikisi de altta yatan Git mimarisine giriş niteliğindedir.

Önerilen iş akışlarına genel bir bakış için gitworkflows(7) kılavuzuna bakın.

Bazı yararlı örnekler için howto[4] (nasıl yapılır) belgelerine de bakın.

İç yapılar (internals) Git API belgelerinde[5] belgelenmiştir.

CVS'den göç eden (migrating) kullanıcılar gitcvs-migration(7) kılavuzunu da okumak isteyebilirler.

Yazarlar

Git, Linus Torvalds tarafından başlatılmıştır ve şu anda Junio C Hamano tarafından sürdürülmektedir. Git e-posta listesinden <git@vger.kernel.org[6]> çok sayıda katkı gelmiştir. https://openhub.net/p/git/contributors/summary adresi size katkıda bulunanlerin daha eksiksiz bir listesini sunar.

Eğer git.git deposunun kendisinin bir klonuna sahipseniz, git-shortlog(1) ve git-blame(1) çıktısı size projenin belirli bölümlerinin yazarlarını gösterebilir.

Hata Bildirimi

Hataları, geliştirme ve bakımın birincil olarak yapıldığı Git e-posta listesine <git@vger.kernel.org[6]> bildirin. Oraya mesaj göndermek için listeye abone olmanız gerekmez. Önceki hata raporları ve diğer tartışmalar için https://lore.kernel.org/git adresindeki liste arşivine bakın.

Güvenlikle ilgili sorunlar özel olarak Git Güvenlik e-posta listesine <git-security@googlegroups.com[7]> ifşa edilmelidir.

Ayrıca Bakınız

gittutorial(7), gittutorial-2(7), giteveryday(7), gitcvs-migration(7), gitglossary(7), gitcore-tutorial(7), gitcli(7), The Git User’s Manual[1], gitworkflows(7)

Git

git(1) paketinin bir parçasıdır

Notlar

  1. Git User’s Manual git-htmldocs/user-manual.html

  2. Trace2 documentation git-htmldocs/technical/api-trace2.html

  3. Git concepts chapter of the user-manual git-htmldocs/user-manual.html#git-concepts

  4. howto git-htmldocs/howto-index.html

  5. Git API documentation git-htmldocs/technical/api-index.html

  6. git@vger.kernel.org mailto:git@vger.kernel.org

  7. git-security@googlegroups.com mailto:git-security@googlegroups.com

Git 2.50.1.428.g0e8243 2025-07-22 GIT(1)