Yazılımcılar kod yazmasına rağmen pek çok geliştirici git kullanırken arayüzleri kullanır. Bunların arasında SourceTree, GitHub Desktop başı çeker. Tamam git komutları projenizin iş mantığı değildir ancak yazılmayı hak ediyorlar.

Kullanıcı arayüzleri yeni kullanıcılar için pratik ve daha kolay gibi gelse de aslında bu ekranlardan yaptığımız işlemler arkaplanda birer git komutudur. Gitin gerçek gücü ve esnekliği komut satırında saklıdır. Ve arkaplanda neler döndüğünü anlamak için komutlar çok önemlidir. Bu komutların hepsini ezberlemenize gerek yok; yan sayfada en yaygın komutları derlediğimiz Git Cheatsheet sayfamızı kullanabilirsiniz.

Arayüzler size giti kullandırır, terminal ise giti anlamanızı sağlar. - gitlearn.io

GUI'ler çok iyi UX deneyimine sahip olsalarda gerçek "mühendislik hissi" terminalden gelir. Buradaki en iyi dostlarınızdan biri git status 'dür. Durumu sizin için özetler. git log'u da seveceğinizi tahmin ediyorum. Bir de günlük rutinlerinizde kullanacağınız add, commit, pull, push var. Gördüğünüz gibi bu komutlar çok kısa ve ezberlemesi kolay. Büyük ihtimalle en sık kullanacağınız git komutları arasında olacaktır. İşte burada hata yaparım diye korkuyorsan git simülatör 'ü sınırsız kullanabilirsin.

CLI (Command Line Interface) nedir? Bilgisayarla metin komutları yazarak iletişim kurduğunuz arayüzdür. Mouse'un ve düğmelerin olmadığı, sadece klavye ve metnin olduğu ortam. Windows'ta cmd veya PowerShell, macOS'ta Terminal veya iTerm2, Linux'ta ise dağıtıma göre GNOME Terminal, Konsole gibi uygulamalar birer CLI'dır.
GUI (Graphical User Interface) nedir? Tam karışıtı yani gördüğünüz her şeyin tıklanabilir düğme ve menü olduğu görsel arayüzlerdir. Git de özünde bir CLI aracıdır — git commit, git push gibi komutlar doğrudan bu ortamda çalışır. GitHub Desktop gibi uygulamalar ise aslında bu komutları sizin yerinize arka planda yazıp çalıştırır.

CLI kullanmanın avantajları

Tam kontrol ve dolaysız güç

Arayüzde genellikle en sık kullanılanları görünür kılar. Ancak işler karmaşıklaştığında komut satırı her zaman aynı uzaklıktadır. İhtiyacınız olan git komutlarının tamamı: git docs.

Arkaplanı gerçekten anlamak

Ekranda commit butonuna tıklamak gitin arkaplanındaki mekanizmayı maskeler. Komutları yazmak çalışma ağacı (working tree), hazırlık alanı (staging area) ve depo (repository) kavramları arasındaki ilişkiyi zihninize kazır.

Arayüzler size Git'i kullandırır, terminal ise Git'i anlamanızı sağlar.

Evrensellik ve bağımsızlık

Git komutları dünyanın her yerinde aynıdır. İşletim sistemi, bilgisayar, IDE'ye göre değişmez. Git aslında terminalde yaşar. Gitin bildiği tek dil komutlardır; Aradaki tercümanı çıkarın.

Sen butona bastığında, arayüz arkada sessizce git commit -m "..." diye fısıldar.

Otomasyon (CI/CD) uyumu

Bazı sunucularda arayüzler bulunmaz. Github Actions, GitLab CI gibi arayüzler bulunmaz. Bazı durumlarda bu komutları bilmek tercih değil zorunluluktur.

Hız ve alışkanlık

Git komutlarına alıştığınızda "git commit -am "süper hızlı düzeltme"" yazmak menüler arasında gezinmekten daha hızlıdır. Tabi burada işin alışkanlık kısmı da devreye giriyor. Arayüze alışıp komutlara geçmek göz korkutucu gelebilir ama bir süre sonra kas hafızası yaratacaktır. Bence denemeye değer.

Menüler arasında üç tık ile gezinmek mi? "git push" yazmak mı?

Git sisteminde alias (kısayol) vardır. Örneğin "git status" yerine "git st" yazmak istediğinizde git komutlarının uzmanı olmuşsunuz demektir.

Git komutlarını simülatörde deneyin

Buraya kadar geldiysen ve terminale bir şeyler yazmak istiyorsan (gerçek bir şeyi kırıp dökmeden) seni Git Simülasyonu kullanmaya davet ediyoruz.