Aynı anda birden fazla özellik üzerinde çalıştıysanız, bu durum size tanıdık gelebilir: bir Git komutu çalıştırırsınız ve artık geçen haftaki çalışmanızın tam olarak nerede olduğunu bilemezsiniz.
Projeler büyüdükçe bu sorun daha yaygın hale gelir. Başlangıçta bir depoda yalnızca main dalı olabilir. Ancak zamanla ekipler yeni özellikler, hata düzeltmeleri, deneyler, sürümler ve acil hotfix’ler için dallar oluşturur.
İşte bu noktada Git’te dalları listelemek kritik hale gelir. Şu pratik sorulara yanıt verir:
Şu anda hangi dalda çalışıyorum?
Bilgisayarımda başka hangi dallar var?
Uzak depoda hangi dallar bulunuyor?
Bu rehberde Git’te dalları listelemenin temellerine, bunu nasıl yapacağınıza ve yaygın sorunları nasıl gidereceğinize bakacağız.
Git’e tamamen yeniyseniz, daha ayrıntılı dal yönetimi konularına dalmadan önce güven kazanmanıza yardımcı olması için Introduction to Git kursumuzu almanızı öneririm.
Git Dallarını Anlamak
Onları listelemeye başlamadan önce, Git dallarının ne olduğunu netleştirelim.
Yaygın bir yanılgı, Git dallarının ayrı klasörler veya bir kod tabanının tam kopyaları olduğudur; oysa gerçekte bir Git dalı, belirli bir commite işaret eden hafif bir göstergedir.
Bunu, istikrarlı ana kodunuzu etkilemeden özellikler oluşturabileceğiniz veya denemeler yapabileceğiniz paralel bir zaman çizelgesi gibi düşünebilirsiniz. Bu mimari, dal oluşturmayı ve birleştirmeyi son derece hızlı ve verimli kılar.
Git, bu zaman çizelgelerindeki mevcut konumunuzu, her zaman üzerinde çalıştığınız dalı işaret eden HEAD adlı özel bir referansla izler. Dallar yalnızca işaretçiler olduğundan, bağlam değiştirmek anlıktır ve ağır dosyaları taşımayı gerektirmez.
Daha fazla ayrıntı için Git dalları hakkındaki eğitimimize göz atın veya Git cheatsheet’imizi inceleyin.
Git’te Yerel Dalları Nasıl Listeleyebilirsiniz
Bu kavramsal temeli oluşturduğumuza göre, şimdi deponuzdaki yerel dalları nasıl listeleyeceğinize bakalım.
Yerel dal, bilgisayarınızda var olan daldır. Depo’nuzun .git klasörü içinde bulunur ve bir dizi commite hareketli bir işaretçiyi temsil eder. Yerel bir dala geçebilir, değişiklikler yapabilir ve üzerinde yeni commitler oluşturabilirsiniz.
Yerel dalları şu şekilde düşünmek faydalıdır:
Depo’nun sizin kopyanıza aittirler
Yeni değişiklikleri commitlediğinizde ilerlerler
Başkaları kod gönderdiğinde otomatik olarak güncellenmezler
git branch kullanma
Yerel dalları listelemek için en yaygın ve temel komut oldukça basittir:
Bu çıktı basit görünse de içinde birkaç önemli ayrıntı barındırır.
İlk olarak, yıldız işareti (*) şu anda checkout yapılmış olan dalı gösterir. Çalışma dizininiz şu anda bu dala bağlıdır. Oluşturacağınız yeni commitler bu dala eklenecektir.
İkinci olarak, Git genellikle geçerli dalı yeşil renkle vurgular. Bu, yalnızca terminalin görsel bir yardımıdır ve Git’in davranışını değiştirmez.
Üçüncüsü, gösterilmeyenlere dikkat edin:
Commit tarihleri yok
Yazar adları yok
Uzak bilgi yok
Bu kasıtlıdır. Git, varsayılan çıktıyı kısa tutar; böylece taraması ve diğer komutlarla birleştirmesi kolay olur.
Yeni başlayanlara ipucu: Bir Git komutu çalıştırdıktan sonra terminaliniz "takılmış" gibi görünürse q tuşuna basmayı deneyin. Git uzun çıktıları göstermek için sıklıkla bir sayfalayıcı kullanır; bu ekranı kapatmanın normal bir yoludur.
Yalnızca geçerli dalı almak
Bazen tüm dalları listelemek gereksizdir. Yalnızca şu anda hangi dalda olduğunuzu bilmek isteyebilirsiniz. Git bunun için özel bir komut sağlar:
Git ayrık bir HEAD durumunda ise bu komut hiçbir şey döndürmez. İlk başta garip gelse de, bu aslında bir dalın checkout edilip edilmediğini tespit etmesi gereken betikler yazarken yardımcıdır.
Yaygın hata: Bazı kullanıcılar bir dal adı görünmediğinde Git’in "bozuk" olduğunu düşünür. Çoğu durumda bu, şu anda bir dalda değil, belirli bir commit üzerinde olduğunuz anlamına gelir.
Git’te Uzak ve Tüm Dalları Nasıl Listeleyebilirsiniz
Git’te uzak ya da tüm dalları listelemek, yerel olanları listelemeye oldukça benzer çalışır.
Git’te uzak dalları listelemek
GitHub veya GitLab gibi uzak depoların kendi dalları vardır. Bunları görmek için -r bayrağını ekleyin:
Bu örnek çıktı ilk başta kafa karıştırıcı olabilir; gelin parçalayalım.
Burada gördükleriniz uzak-izleme dallarıdır. Bunlar, Git’in uzak deponun en son bilinen durumunu hatırlamak için kullandığı yerel referanslardır.
Anlaşılması gereken kilit noktalar:
Bu dallar yerelde saklanır
Yalnızca fetch yaptığınızda güncellenirler
Kendiliğinden hareket etmezler
Yeni başlayanlara ipucu: Uzak-izleme dallarını Git’in not defteri gibi düşünün. Git, en son kontrol ettiğinizde uzağın nasıl göründüğünü yazar; ancak siz açıkça fetch yapmadıkça o not defterini güncellemez.
Git’te tüm dalları listelemek
Hem yerel dalları hem de uzak-izleme dallarını birlikte görmek için -a bayrağını kullanın:
* main
feature/payment-refactor
remotes/origin/bugfix/login-timeout
remotes/origin/mainAltyapı:
Bu birleşik görünüm, yerel dallarınızın uzak olanlarla nasıl ilişkili olduğunu anlamanıza yardımcı olur.
Dikkat edilmesi gereken adlandırma kalıpları:
Yerel dallar main gibi basit adlarla görünür
Uzak-izleme dalları remotes/origin/ altında görünür
Bu görünüm, var olan bir uzak dalı izleyen yeni bir yerel dal oluşturup oluşturmamaya karar verirken özellikle kullanışlıdır. Bir depoyu klonlayıp belirli bir dal üzerinde çalışmanız gerekiyorsa, Git’te belirli bir dal nasıl klonlanır rehberimize göz atın.
Önce her zaman fetch yapın
Bir ekip arkadaşınız yeni bir dal gönderdi ve siz göremiyorsanız, en yaygın neden yerel önbelleğinizin güncel olmamasıdır.
Bu komutu dilediğiniz zaman güvenle çalıştırabilirsiniz. Kod birleştirmez veya çalışmalarınızı üzerine yazmaz. Birçok ekip, dalları incelemeden önce git fetch işlemini rutin bir adım olarak uygular.
Yaygın hata: Yeni başlayanlar sıkça git fetch ile git pull’u karıştırır. Fetch yalnızca dal bilgisini güncellerken pull, değişiklikleri geçerli dalınıza da birleştirir.
Git Dal Listeniz Hakkında Daha Fazla Ayrıntı Nasıl Alınır
Bazen dal adları yeterli olmaz. Ek ayrıntılar görmek isterseniz işinizi kolaylaştıracak birkaç yararlı bayrak vardır.
Son commitleri görüntüleme
Her dalın aslında ne içerdiğini görmek için şunu kullanın:
* main a1b2c3d Fix typo in README
feature/payment-refactor e4f5g6h Refactor payment serviceAltyapı:
Gördüğünüz gibi -v bayrağı önemli bağlamlar ekler:
Kısa commit özeti, dalın şu anda nereye işaret ettiğini gösterir
Commit mesajı, dalın amacına dair ipucu verir
Bu, bir dalı checkout etmeden ne için olduğunu anlamanın en kolay yollarından biridir.
Yeni başlayanlara ipucu: Bir dalın silinmesinin güvenli olup olmadığından emin değilseniz, son commit mesajına bakmak iyi bir ilk ipucudur. Dalları kaldırmaya dair eksiksiz bir rehber için Git dalları nasıl silinir eğitimimize bakın.
Yukarı akış bağlantılarını kontrol etme
Yerel dallar genellikle karşılık gelen bir uzak dalı izler. Bu ilişkiyi görmek için şunu çalıştırın:
* main a1b2c3d [origin/main] Fix typo in README
feature/payment-refactor e4f5g6h [origin/feature/payment-refactor] Refactor payment serviceAltyapı:
Bu çıktı size şunları söyler:
Yerel dalınızın hangi uzak dala bağlı olduğu
git pull’un nereden çekeceği
git push’un nereye göndereceği
Bir dalın upstream’i yoksa köşeli parantez içinde hiçbir şey görünmez. Bu, genellikle push veya pull hatalarını açıklar.
Yaygın hata: Upstream’i olmayan bir dalda git pull çalıştırmaya çalışmak genellikle başarısız olur. Bu durumda önce bir upstream dalı ayarlamanız veya dalı ilk kez göndermeniz gerekir.
Dalları tarihe veya sürüme göre sıralama
Yakın zamanda aktif olan dalları bulmak için commit tarihine göre sıralayabilirsiniz:
Bu, sürüm numaralarına saygı duyar ve kafa karıştırıcı alfabetik sıralamayı önler.
Git’te Dal Listesini Nasıl Filtrelersiniz
Belirli bir dalı arıyorsanız, filtreleme çok yardımcı olabilir. Bunu birkaç önemli bayrakla nasıl yapacağınızı göstereceğim.
Ada göre desenle arama
Özellikle büyük depolarda doğru dalı bulmak için ada göre filtrelemek size çok zaman kazandırabilir. --list bayrağını arama teriminizle birlikte kullanarak ada göre filtreleyebilirsiniz:
* karakterinin joker olarak kullanıldığına dikkat edin: Sonuç yalnızca deseni eşleyen, yani feature ile başlayan dalları gösterir. Ekipler, işleri düzenli tutmak için sıklıkla feature/, bugfix/ veya hotfix/ gibi önekler kullanır. Bunları dallarınız için klasörler gibi düşünün.
Bu komutlar, diğer dalları geçerli dalınıza göre karşılaştırır.
--merged, çalışmaları zaten dahil edilmiş dalları gösterir (Git merge hakkında daha fazlasını öğrenin)
--no-merged, hâlâ benzersiz commitler içeren dalları gösterir
Güvenlik hatırlatması: --merged kullanmadan önce her zaman doğru taban dalında (main veya develop sıklıkla) olduğunuzu iki kez kontrol edin. Sonuçlar geçerli dalınıza bağlıdır.
Bir commitin hangi dalda olduğunu bulma
Bir commit özeti biliyor ve nerede bulunduğunu öğrenmek istiyorsanız şu komutu kullanın:
Bu, hataları takip ederken veya bir düzeltmenin birleştirildiğini doğrularken kullanışlıdır.
Örneğin, bir iş arkadaşınız size şunu söylediğinde: "Şu commit hash’inde bir hata buldum; hangi dallar bundan etkileniyor?" Bu komutu kullanarak hatanın tam yerini saptayabilirsiniz.
İleri düzey iş akışları için filtreleri birleştirme
Gösterdiğim filtreler, sonuçları daha da daraltmak için birleştirilebilir. Bir örneğe bakalım:
Modern alternatif: Git 2.23+ sürümlerinden beri, dallar arasında geçiş için özel olarak tasarlanmış, daha temiz ve güvenli bir komut olan git switch <branch-name> kullanabilirsiniz.
Ayrıca, -b bayrağını kullanarak mevcut konumunuzdan yeni bir dal oluşturabilirsiniz:
Bu, eski referansları temizler ve deponuzu düzenli tutar.
İpucu: Alternatif olarak, her fetch işleminde git fetch --prune kullanabilirsiniz; böylece depo tek adımda hem güncellenir hem temizlenir.
Sonuç
Git’te dalları listelemek, deponuzu anlamanıza yardımcı olan temel bir beceridir. Bu eğitimde ele alınan komut ve bayraklar, hatalardan kaçınmanıza ve başkalarıyla güvenle çalışmanıza yardımcı olacaktır.
Yeni bir projeye başlarken, hangi tür bir dal yapısına ihtiyaç duyacağınıza dair düşünmek genellikle değerdedir. Bazı öneriler için, Git dal stratejisi hakkındaki bu rehbere göz atın.
Temellerin ötesine geçmeye hazır mısınız? Git Fundamentals yetkinlik yolu, başlangıçtan ileri düzeye geçmek için gereken kavramları ve uygulamalı deneyimi sunar.
Git Dallarını Listeleme Hakkında SSS
Yerel ve uzak dallar arasındaki fark nedir?⌄
Yerel dallar makinenizde bulunur. Uzak dallar, uzak deponun dallarının durumunu yansıtır.
Hangi dalların zaten birleştirildiğini nasıl anlarım?⌄
Geçerli dala değişiklikleri zaten dahil edilen dalları görmek için git branch --merged komutunu çalıştırın.
Bir dalı listeledikten sonra silmek güvenli midir?⌄
Evet, eğer birleştirildiyse. git branch -d branch-name komutunu kullanın. Git, güvenli şekilde birleştirilmemişse silmeyi engeller. Git, bir dalı, geçerli dalınıza birleştirildiyse veya uzak depoya gönderildiyse "güvenli" kabul eder.
Uzakta var olan bir dalı neden göremiyorum?⌄
Muhtemelen yerel depo henüz fetch etmedi. git fetch çalıştırın, ardından uzak dalları görmek için git branch -r kullanın.
git branch ne gösterir?⌄
Yalnızca yerel dallarınızı listeler. Geçerli dal * ile işaretlenir. Uzak dalları yalnızca -r bayrağını eklediğinizde gösterir.
Dalları en son etkinliğe göre nasıl sıralayabilirim?⌄
git branch --sort=-committerdate kullanarak dalları en yeni commitleri en üstte olacak şekilde görüntüleyin. Bu, sizin veya ekibinizin yakın zamanda üzerinde çalıştığı dalları bulmak istediğinizde yardımcı olur. Ayrıca, sıralanmış listenin yanında commit mesajlarını görmek için git branch -v --sort=-committerdate gibi diğer bayraklarla birleştirebilirsiniz.
Ben Austin, sağlık sektöründe veri bilimci ve veri analisti olarak yıllara dayanan deneyime sahip bir blogger ve teknoloji yazarıyım. Biyoloji geçmişiyle başladığım teknoloji yolculuğumda, şimdi teknoloji blogum aracılığıyla başkalarının da aynı geçişi yapmasına yardımcı oluyorum. Teknolojiye olan tutkum, onlarca SaaS şirketine yazılı katkılar sunmama, başkalarına ilham vermeme ve deneyimlerimi paylaşmama vesile oldu.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Temel bilgilerden gelişmiş iş akışlarına kadar Git ile sürüm kontrolünü öğrenin. Değişiklikleri takip edin, depoları yönetin ve verimli bir şekilde işbirliği yapın.
Aynı anda birden fazla özellik üzerinde çalıştıysanız, bu durum size tanıdık gelebilir: bir Git komutu çalıştırırsınız ve artık geçen haftaki çalışmanızın tam olarak nerede olduğunu bilemezsiniz.
Projeler büyüdükçe bu sorun daha yaygın hale gelir. Başlangıçta bir depoda yalnızca
maindalı olabilir. Ancak zamanla ekipler yeni özellikler, hata düzeltmeleri, deneyler, sürümler ve acil hotfix’ler için dallar oluşturur.İşte bu noktada Git’te dalları listelemek kritik hale gelir. Şu pratik sorulara yanıt verir:
Bu rehberde Git’te dalları listelemenin temellerine, bunu nasıl yapacağınıza ve yaygın sorunları nasıl gidereceğinize bakacağız.
Git’e tamamen yeniyseniz, daha ayrıntılı dal yönetimi konularına dalmadan önce güven kazanmanıza yardımcı olması için Introduction to Git kursumuzu almanızı öneririm.
Git Dallarını Anlamak
Onları listelemeye başlamadan önce, Git dallarının ne olduğunu netleştirelim.
Yaygın bir yanılgı, Git dallarının ayrı klasörler veya bir kod tabanının tam kopyaları olduğudur; oysa gerçekte bir Git dalı, belirli bir commite işaret eden hafif bir göstergedir.
Bunu, istikrarlı ana kodunuzu etkilemeden özellikler oluşturabileceğiniz veya denemeler yapabileceğiniz paralel bir zaman çizelgesi gibi düşünebilirsiniz. Bu mimari, dal oluşturmayı ve birleştirmeyi son derece hızlı ve verimli kılar.
Kaynak: Git
Git, bu zaman çizelgelerindeki mevcut konumunuzu, her zaman üzerinde çalıştığınız dalı işaret eden HEAD adlı özel bir referansla izler. Dallar yalnızca işaretçiler olduğundan, bağlam değiştirmek anlıktır ve ağır dosyaları taşımayı gerektirmez.
Daha fazla ayrıntı için Git dalları hakkındaki eğitimimize göz atın veya Git cheatsheet’imizi inceleyin.
Git’te Yerel Dalları Nasıl Listeleyebilirsiniz
Bu kavramsal temeli oluşturduğumuza göre, şimdi deponuzdaki yerel dalları nasıl listeleyeceğinize bakalım.
Yerel dal, bilgisayarınızda var olan daldır. Depo’nuzun
.gitklasörü içinde bulunur ve bir dizi commite hareketli bir işaretçiyi temsil eder. Yerel bir dala geçebilir, değişiklikler yapabilir ve üzerinde yeni commitler oluşturabilirsiniz.Yerel dalları şu şekilde düşünmek faydalıdır:
git branch kullanma
Yerel dalları listelemek için en yaygın ve temel komut oldukça basittir:
Bu komutu ek seçenekler olmadan çalıştırdığınızda Git size tüm yerel dalları gösterir.
git branchhakkında hatırlanması gereken önemli noktalar:Güvenli ve hızlı olduğu için birçok geliştirici yeni bir işe başlamadan veya bağlam değiştirmeden önce alışkanlıkla
git branchçalıştırır.Çıktıyı anlamak
git branchkomutunun gösterebileceği bir örnek:Bu çıktı basit görünse de içinde birkaç önemli ayrıntı barındırır.
İlk olarak, yıldız işareti (
*) şu anda checkout yapılmış olan dalı gösterir. Çalışma dizininiz şu anda bu dala bağlıdır. Oluşturacağınız yeni commitler bu dala eklenecektir.İkinci olarak, Git genellikle geçerli dalı yeşil renkle vurgular. Bu, yalnızca terminalin görsel bir yardımıdır ve Git’in davranışını değiştirmez.
Üçüncüsü, gösterilmeyenlere dikkat edin:
Bu kasıtlıdır. Git, varsayılan çıktıyı kısa tutar; böylece taraması ve diğer komutlarla birleştirmesi kolay olur.
Yeni başlayanlara ipucu: Bir Git komutu çalıştırdıktan sonra terminaliniz "takılmış" gibi görünürse
qtuşuna basmayı deneyin. Git uzun çıktıları göstermek için sıklıkla bir sayfalayıcı kullanır; bu ekranı kapatmanın normal bir yoludur.Yalnızca geçerli dalı almak
Bazen tüm dalları listelemek gereksizdir. Yalnızca şu anda hangi dalda olduğunuzu bilmek isteyebilirsiniz. Git bunun için özel bir komut sağlar:
Çıktı yalnızca dal adıdır:
Bunun faydalı olduğu yaygın durumlar:
Git ayrık bir HEAD durumunda ise bu komut hiçbir şey döndürmez. İlk başta garip gelse de, bu aslında bir dalın checkout edilip edilmediğini tespit etmesi gereken betikler yazarken yardımcıdır.
Yaygın hata: Bazı kullanıcılar bir dal adı görünmediğinde Git’in "bozuk" olduğunu düşünür. Çoğu durumda bu, şu anda bir dalda değil, belirli bir commit üzerinde olduğunuz anlamına gelir.
Git’te Uzak ve Tüm Dalları Nasıl Listeleyebilirsiniz
Git’te uzak ya da tüm dalları listelemek, yerel olanları listelemeye oldukça benzer çalışır.
Git’te uzak dalları listelemek
GitHub veya GitLab gibi uzak depoların kendi dalları vardır. Bunları görmek için
-rbayrağını ekleyin:Bu örnek çıktı ilk başta kafa karıştırıcı olabilir; gelin parçalayalım.
Burada gördükleriniz uzak-izleme dallarıdır. Bunlar, Git’in uzak deponun en son bilinen durumunu hatırlamak için kullandığı yerel referanslardır.
Anlaşılması gereken kilit noktalar:
Yeni başlayanlara ipucu: Uzak-izleme dallarını Git’in not defteri gibi düşünün. Git, en son kontrol ettiğinizde uzağın nasıl göründüğünü yazar; ancak siz açıkça fetch yapmadıkça o not defterini güncellemez.
Git’te tüm dalları listelemek
Hem yerel dalları hem de uzak-izleme dallarını birlikte görmek için
-abayrağını kullanın:Bu birleşik görünüm, yerel dallarınızın uzak olanlarla nasıl ilişkili olduğunu anlamanıza yardımcı olur.
Dikkat edilmesi gereken adlandırma kalıpları:
Yerel dallar
maingibi basit adlarla görünürUzak-izleme dalları
remotes/origin/altında görünürBu görünüm, var olan bir uzak dalı izleyen yeni bir yerel dal oluşturup oluşturmamaya karar verirken özellikle kullanışlıdır. Bir depoyu klonlayıp belirli bir dal üzerinde çalışmanız gerekiyorsa, Git’te belirli bir dal nasıl klonlanır rehberimize göz atın.
Önce her zaman fetch yapın
Bir ekip arkadaşınız yeni bir dal gönderdi ve siz göremiyorsanız, en yaygın neden yerel önbelleğinizin güncel olmamasıdır.
Çözüm fetch etmektir:
git fetchşunları yapar:Bu komutu dilediğiniz zaman güvenle çalıştırabilirsiniz. Kod birleştirmez veya çalışmalarınızı üzerine yazmaz. Birçok ekip, dalları incelemeden önce
git fetchişlemini rutin bir adım olarak uygular.Yaygın hata: Yeni başlayanlar sıkça
git fetchilegit pull’u karıştırır. Fetch yalnızca dal bilgisini güncellerken pull, değişiklikleri geçerli dalınıza da birleştirir.Git Dal Listeniz Hakkında Daha Fazla Ayrıntı Nasıl Alınır
Bazen dal adları yeterli olmaz. Ek ayrıntılar görmek isterseniz işinizi kolaylaştıracak birkaç yararlı bayrak vardır.
Son commitleri görüntüleme
Her dalın aslında ne içerdiğini görmek için şunu kullanın:
Çıktı şu şekilde görünebilir:
Gördüğünüz gibi
-vbayrağı önemli bağlamlar ekler:Bu, bir dalı checkout etmeden ne için olduğunu anlamanın en kolay yollarından biridir.
Yeni başlayanlara ipucu: Bir dalın silinmesinin güvenli olup olmadığından emin değilseniz, son commit mesajına bakmak iyi bir ilk ipucudur. Dalları kaldırmaya dair eksiksiz bir rehber için Git dalları nasıl silinir eğitimimize bakın.
Yukarı akış bağlantılarını kontrol etme
Yerel dallar genellikle karşılık gelen bir uzak dalı izler. Bu ilişkiyi görmek için şunu çalıştırın:
Bu çıktı size şunları söyler:
Yerel dalınızın hangi uzak dala bağlı olduğu
git pull’un nereden çekeceğigit push’un nereye göndereceğiBir dalın upstream’i yoksa köşeli parantez içinde hiçbir şey görünmez. Bu, genellikle push veya pull hatalarını açıklar.
Yaygın hata: Upstream’i olmayan bir dalda
git pullçalıştırmaya çalışmak genellikle başarısız olur. Bu durumda önce bir upstream dalı ayarlamanız veya dalı ilk kez göndermeniz gerekir.Dalları tarihe veya sürüme göre sıralama
Yakın zamanda aktif olan dalları bulmak için commit tarihine göre sıralayabilirsiniz:
Bu, en son güncellenen dalları üste, daha eski dalları alta yerleştirir.
Sürüm dalları olan depolarda, anlamsal sıralama daha kullanışlıdır:
Bu, sürüm numaralarına saygı duyar ve kafa karıştırıcı alfabetik sıralamayı önler.
Git’te Dal Listesini Nasıl Filtrelersiniz
Belirli bir dalı arıyorsanız, filtreleme çok yardımcı olabilir. Bunu birkaç önemli bayrakla nasıl yapacağınızı göstereceğim.
Ada göre desenle arama
Özellikle büyük depolarda doğru dalı bulmak için ada göre filtrelemek size çok zaman kazandırabilir.
--listbayrağını arama teriminizle birlikte kullanarak ada göre filtreleyebilirsiniz:*karakterinin joker olarak kullanıldığına dikkat edin: Sonuç yalnızca deseni eşleyen, yanifeatureile başlayan dalları gösterir. Ekipler, işleri düzenli tutmak için sıklıklafeature/,bugfix/veyahotfix/gibi önekler kullanır. Bunları dallarınız için klasörler gibi düşünün.Birleştirilmiş ve birleştirilmemiş dalları bulma
İki çok önemli filtre şunlardır:
Bu komutlar, diğer dalları geçerli dalınıza göre karşılaştırır.
--merged, çalışmaları zaten dahil edilmiş dalları gösterir (Git merge hakkında daha fazlasını öğrenin)--no-merged, hâlâ benzersiz commitler içeren dalları gösterirGüvenlik hatırlatması:
--mergedkullanmadan önce her zaman doğru taban dalında (mainveyadevelopsıklıkla) olduğunuzu iki kez kontrol edin. Sonuçlar geçerli dalınıza bağlıdır.Bir commitin hangi dalda olduğunu bulma
Bir commit özeti biliyor ve nerede bulunduğunu öğrenmek istiyorsanız şu komutu kullanın:
Bu, hataları takip ederken veya bir düzeltmenin birleştirildiğini doğrularken kullanışlıdır.
Örneğin, bir iş arkadaşınız size şunu söylediğinde: "Şu commit hash’inde bir hata buldum; hangi dallar bundan etkileniyor?" Bu komutu kullanarak hatanın tam yerini saptayabilirsiniz.
İleri düzey iş akışları için filtreleri birleştirme
Gösterdiğim filtreler, sonuçları daha da daraltmak için birleştirilebilir. Bir örneğe bakalım:
Bu komutun sonucu, tüm birleştirilmemiş
feature/dallarını hızla gösterir ve ekibin düzenli kalmasına yardımcı olur.Yaygın Sorunların Giderilmesi
Sorunlarla karşılaşırsanız endişelenmeyin; en yaygın sorunlar oldukça kolay çözülebilir.
Eksik uzak dallar
Bir başkasının gönderdiği bir dalı göremiyorsanız, en olası neden fetch yapmayı unutmuş olmanızdır. Sorun gidermek için:
git fetchçalıştırınSonra dalları yeniden listeleyin
Eksik fetch sorunsa, bu hızlı düzeltme yerel görünümünüzü anında günceller.
Ayrık HEAD durumu
Bazen
git branchçıktısı şöyle görünür:Bu, bir dalda olmadığınız anlamına gelir. Doğrudan belirli bir commit’i görüntülüyorsunuz.
Ayrık HEAD durumunda olmak tek başına tehlikeli değildir; ancak yeni commitler, bir dal oluşturmadığınız sürece daha sonra bulunması zor olabilir.
Normal çalışmaya dönmek için mevcut bir dala geçin:
Modern alternatif: Git 2.23+ sürümlerinden beri, dallar arasında geçiş için özel olarak tasarlanmış, daha temiz ve güvenli bir komut olan
git switch <branch-name>kullanabilirsiniz.Ayrıca,
-bbayrağını kullanarak mevcut konumunuzdan yeni bir dal oluşturabilirsiniz:Silmeden sonra dallar hâlâ görünüyor
Uzak sunucuda silinen dallar hâlâ görünüyorsa, yerel referanslarını şu komutla temizleyebilirsiniz:
Bu, eski referansları temizler ve deponuzu düzenli tutar.
İpucu: Alternatif olarak, her fetch işleminde
git fetch --prunekullanabilirsiniz; böylece depo tek adımda hem güncellenir hem temizlenir.Sonuç
Git’te dalları listelemek, deponuzu anlamanıza yardımcı olan temel bir beceridir. Bu eğitimde ele alınan komut ve bayraklar, hatalardan kaçınmanıza ve başkalarıyla güvenle çalışmanıza yardımcı olacaktır.
Yeni bir projeye başlarken, hangi tür bir dal yapısına ihtiyaç duyacağınıza dair düşünmek genellikle değerdedir. Bazı öneriler için, Git dal stratejisi hakkındaki bu rehbere göz atın.
Temellerin ötesine geçmeye hazır mısınız? Git Fundamentals yetkinlik yolu, başlangıçtan ileri düzeye geçmek için gereken kavramları ve uygulamalı deneyimi sunar.