Türkçe

GIT — Git

GIT Bir Git deposu klasör gibi gezilir: değişen dosyalar, dallar, geçmiş.

Bir depo açma

Çubuktaki GIT düğmesi sık kullanılan projeye atlar; sağ tıklaması listeyi verir: bilinen depolar, “Commit”, “Geçmiş…”, dallar, “Stash…” ve “Kenara alınanlar”, “Etiketler…”, “Uzak depolar”. Henüz depo olmayan bir disk klasörü orada “Buraya bir depo klonla…” önerir. Projeler içine girildikçe kendiliğinden eklenir ve klasörü kaybolmuş bir proje unutulur — eksik olan diski ise değilse: çıkarılmış bir USB bellek hiçbir şeyi unutturmaz.

Bir klasörün durumu

Her satır kendi rengini taşır: çakışmalı, izlenmeyen, değiştirilmiş, hazırlanmış, yoksayılan. Bir dosya git tarafından iki eksende tanımlanır — dizin ve çalışma kopyası — ve bir satır ikisini birden gösterecek yere sahip değildir: rengi belirleyen yapılması kalan şeydir. Yol çubuğu geçerli dalı söyler.

Hazırlama ve commit etme

“Commit” değişiklikler görünümünü açar: satır başına bir dosya, git'in onun hakkında bildiğini söyleyen İzlenen sütunu. Satırlar her yerdeki gibi seçilir — tıklama, Ctrl+tıklama, Shift+tıklama —, ileti altına yazılır ve Commit seçili olanla gider. Hiçbir şey seçili değilse hiçbir şey gitmez: düğme bunu söyler.

Commit çubuğundaki İzlenmeyen düğmesi, git’in izlemediklerini gizliyor: atılacak dosyalarla dolu bir klasör, commit etmek istediğiniz iki dosyayı artık boğmuyor ve Ctrl+A onları artık almıyor. İşareti kaldırılınca kaç tanesini gizlediğini söylüyor.

Bir deponun değişiklikler görünümü: üç dosya, izleme durumları ve altta commit çubuğu.
Deponun değişiklikleri ve commit çubuğu: ileti, seçili olanlar ve düğme.

Farkları göster

“Farkları göster”, çalışma kopyası, dizin (hazırlanmış) ve bir commit arasında diff'i blok blok açar — önce ve sonra orada adlandırılır. İkili bir dosya, gürültü göstermek yerine bunu söyler.

Hareketler

Dallar ve geçmiş

Bir dal oluşturma, ona geçme, birleştirme — girdi dalın adını taşır ve birleştirilecek bir şey yok: zaten güncel ya da birleştirme kesildi: dosyalar çakışıyor yanıtını verir. “Geçmiş…” commit'leri listeler: kısa parmak izleri, konuları, yazarları, tarihleri. Soldaki oluk grafiği çizer, her satır kendi yolunda ve bir birleştirme çizgisini komşu sütuna doğru koyar. Bir çift tıklama bir commit'in ayrıntısını açar: iletisinin tamamı ve dokunduğu dosyalar.

Bir deponun geçmişi: dört commit, konuları, yazarları ve oluk kısmında dal grafiği.
Geçmiş ve oluk kısmındaki grafiği: aynı kökten ayrılmış iki dal ve onları birleştiren birleştirme.

Merge request ağacı

Merge request ağacı…, GIT düğmesinin menüsünde, uzak deponun gösterdiği GitLab projesinin açık MR’larını çizer. Her biri çıktığı dalın altında, içindekiler gibi bir adım girintili durur: adım hangi sırayla onaylanacaklarını söyler, bir karta tıklamak MR’ı tarayıcıda açar.

Bir deponun merge request ağacı: main, girintili MR’ları ve birbirinden türeyen üç MR’lık bir zincir
!31, !28’den; !35 ise !31’den türedi: her biri, commit’lerini taşıdığı MR’ın altında “sonrası” ve “hedef main” ile durur. Sağdaki düğme dalın checkout’unu yapar; onay işareti bulunduğunuz main dalını gösterir.

Uzak depoyla alışveriş

“Pull” ve “Push”, etiketin yanında söz konusu commit sayısıyla birlikte — sıfır yazılmaz. Karşıda henüz bulunmayan bir dal yukarı akışıyla birlikte gider. Uzak depolar aynı menüden tanımlanır ve kaldırılır. Sunucu kimlik doğrulaması istediğinde Meneaufile, sessizce takılıp kalmak yerine bunu kendisi de ister.

Kenara koyma

“Stash…” süren çalışmayı commit etmeden, isteğe bağlı bir açıklamayla kaldırır; “Kenara alınanlar” — Kenara alınan işler — bekleyenleri listeler ve oradan devam edilir ya da atılır. “Etiketler…” etiket koyar ve aynı şekilde kaldırır.

Bu satırı kim yazdı

Bir dosyanın menüsündeki “Satır geçmişi” her satırı commit'ine ve yazarına atfeder. Şaşırtıcı bir satır karşısında insanın kendine sorduğu budur ve bir commit listesi buna yanıt vermez.

Çakışmalar

Çakışan bir dosya sürümleriyle açılır: ortak sürüm, bizimki, onlarınki ve inşa ettiğiniz sonuç. “Tümünü al” bir tarafı tamamen aktarır, “Çöz” kaydeder — ve dosya çakışmalı kategorisinden çıkar.

Klonlama

Bir klasörden: adres (https://… veya git@host:org/depo.git), oluşturulacak klasörün adı ve tam ya da sığ bir geçmiş — son N commit.

Bundle dosyaları

Bir .bundle dosyası, tek bir dosyaya paketlenmiş bir Git deposudur: bir projeyi sunucu olmadan bir USB bellekte taşımaya ya da birine vermeye yeter. Çift tıklama içinde ne taşıdığını söyler — dallarını, etiketlerini — ve Buraya klonla… onu hemen yanında, ağ olmadan sıradan bir depoya dönüştürür. Bir depodayken GIT menüsündeki Bundle oluştur… depoyu bütünüyle diğer bölmedeki klasöre paketler.

Git yoksa

Meneaufile sistemin git komutunu çağırır. Yoksa ya da PATH dışındaysa, nedensiz başarısız olmak yerine bunu söyler.

Meneaufile kılavuzu, Türkçe.