Git branch açma nasıl olur?

Katılım
6 Ağustos 2020
Mesajlar
455
Daha fazla  
Cinsiyet
Erkek
Meslek
Yazılımcı
Merhabalar. Ben bir proje üzerinde çalışıyorum forkladığım repoda kendi adıma branch açmam lazım. Nasıl yapabilirim ve branch nedir tam olarak biraz açabilir misiniz?
 
Varolan branchı kendi adınıza mı çekmek istiyorsunuz? Branch ne olduğu konusunda ise
Branchler projelerimizi dallara ayırmamızı sağlarlar. Böyle söyleyince çok havada kalıyor tabii, o yüzden güzel bir örnek vererek açıklamaya çalışayım. Diyelim ki projemize yeni bir özellik (feature) eklemek istiyoruz ama bu özelliğin projemizi patlatma ihtimali var. Projemizin o anki haline bir şey olmadan geliştirmeye devam etmek ama bir yandan da diğer özelliği geliştirip denemek istiyorsunuz. Veya başka bir örnek verelim. Projeniz yayına (production) çıktı ve değişiklikler yapmalısınız. Production sürümünü hiç bozmadan geliştirmeleri yapıp daha sonra eğer çalışıyorsa bunları productiona eklemek istiyorsunuz. Bu noktada branchler imdadımıza yetişiyor. Veya başka bir senaryo daha yazalım. Projenize yeni bir versiyon çıkartıyorsunuz ama her versiyonda farklı bir repo (ilerleyen yazılarda bu kavrama değinilecek) açmak istemiyorsunuz. Bu tarz durumlarda da her bir versiyon için farklı branchler açabilirsiniz. Olası senaryolarımızdan aklıma gelenler bunlar ama tabii ki farklı amaçlarla kullanabilirsiniz bu özelliği.
 
Şöyle düşün, bir geliştirme yapacaksın büyük bir projede. Sen çektin verini master branchinden , yazdın kodunu yolladın tekrar master'a. Ama kodda hata çıktı , bug var. E herkes master kullanıyordu? Mıçtın.

Yapman gereken şey şu, bir yolda gidiyorsun (bu proje dosyası) diyosun ki ; ben buraya kadar olan her şeyi tutup üstüne kendi kodumu yazmak istiyorum. Proje dosyasını pull aldıktan sonra branch açıyorsun, ismini de mantıklı bir şey veriyorsun. Diyelim logo ekleyeceksin sitene , feature/logo gibi bir isimlendirme uygun. Daha sonra kodunu yazıyorsun. Bitti pushladın , nereye? kendi branchine. Kaynak kodda hiçbir değişiklik yok.

Kodunu da denedin, baktınız arkadaşlarınla sonrası? Artık projede hangi ana branchi kullanıyorsanız ona merge'lersiniz. Bu da nasıl olur? Pull Request açarsın dersin ki benim yazdığım feature/logo branchini ; master'a mergeleyelim. Bunu da yetkin kişi onaylar, yaptığın değişiklik proje kaynak koduna dahil edilir.

Geliştirme yapmadan önce muhakkak ana branch'ten pull al , conflict yersin.

Üstte anlatılmış zaten, devamı da benden olsun bari :)
 
Şöyle düşün, bir geliştirme yapacaksın büyük bir projede. Sen çektin verini master branchinden , yazdın kodunu yolladın tekrar master'a. Ama kodda hata çıktı , bug var. E herkes master kullanıyordu? Mıçtın.

Yapman gereken şey şu, bir yolda gidiyorsun (bu proje dosyası) diyosun ki ; ben buraya kadar olan her şeyi tutup üstüne kendi kodumu yazmak istiyorum. Proje dosyasını pull aldıktan sonra branch açıyorsun, ismini de mantıklı bir şey veriyorsun. Diyelim logo ekleyeceksin sitene , feature/logo gibi bir isimlendirme uygun. Daha sonra kodunu yazıyorsun. Bitti pushladın , nereye? kendi branchine. Kaynak kodda hiçbir değişiklik yok.

Kodunu da denedin, baktınız arkadaşlarınla sonrası? Artık projede hangi ana branchi kullanıyorsanız ona merge'lersiniz. Bu da nasıl olur? Pull Request açarsın dersin ki benim yazdığım feature/logo branchini ; master'a mergeleyelim. Bunu da yetkin kişi onaylar, yaptığın değişiklik proje kaynak koduna dahil edilir.

Geliştirme yapmadan önce muhakkak ana branch'ten pull al , conflict yersin.

Üstte anlatılmış zaten, devamı da benden olsun bari :)
Reis eyvellah o kadar yazmışsın daha iyi anlamam için ama benim daha çok beynim yandı :D
 
Bir proje üzerinde birden fazla kişi ile çalışırken kullanılır genelde (projenin gidişatı farklı olduğunda da kullanılabilir, "geliştirme dalı", "ileride kullanılması planlanan değişiklikler dalı" gibi projeyi farklı dallarda, farklı gidişata göre geliştirirken de kullanabilirsin). Herkes kendi dalına commit eder ve istenildiği zaman bu commitler merge edilerek, yapılan değişiklikler diğer dallar ile birleştirilir. Yani ben bir değişiklik yaptım kendi dalımda, bu değişikliği sen de kullanmak istiyorsan, benimde merge etmelisin.

Komut satırı üzerinden dal oluşturmak istiyorsan:
git branch <branch-name>
 
Bir proje üzerinde birden fazla kişi ile çalışırken kullanılır genelde (projenin gidişatı farklı olduğunda da kullanılabilir, "geliştirme dalı", "ileride kullanılması planlanan değişiklikler dalı" gibi projeyi farklı dallarda, farklı gidişata göre geliştirirken de kullanabilirsin). Herkes kendi dalına commit eder ve istenildiği zaman bu commitler merge edilerek, yapılan değişiklikler diğer dallar ile birleştirilir. Yani ben bir değişiklik yaptım kendi dalımda, bu değişikliği sen de kullanmak istiyorsan, benimde merge etmelisin.

Komut satırı üzerinden dal oluşturmak istiyorsan:
git branch <branch-name>
Reis, hallettim gene. Çok sağ ol. :D Yeni bir konu açtım. Ona da bakar mısın? :D
 
Son düzenleyen: Moderatör:
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı