Merhaba dostlar. Forumda şöyle bi aradım taradım ama, hem bu konu için uygun bi yer bulamadım hem de konunun bir benzeri daha önce hiç açılmamış onu fark ettim.
Öncelikle Git nedir ile başlayalım.
Git, linux kernel yaratıcısı Linus Torvalds'ın geliştirdiği bir versiyon kontrol aracıdır. Ne işimize yarar derseniz, yazdığınız kodun evrimini görmenize, yaptığınız bir güncellemeden sonra programda çalışmayan fonksiyonun neresinde değişiklik yapıpta kırdığınıza kadar bir çok ayrıntıyı karşınıza sunar.
Neden önemlidir diyorsanız, günümüzde bir versiyon kontrol toolu olmadan bir projeye başlamak,
yada devam ettirmek düşünülemez bile.
GitHub
Adından da anlaşılacağı üzere GitHub git mantığı ile kurulmuş bir website'dir. Amacı tamamen git ile aynı olup, farkı, reposistorylerinizi internet üzerinde tutmanıza, diğer kullanıcılar tarafından rahat erişime açık hale getirmeye, bug, milestone gibi önemli noktları belirtebildiğiniz, insanların yazdığı kodları forklayıp, geliştirip açık kaynak kodlu projelere yardım edebileceğiniz bir sistem. Kod deposu da diyebiliriz aslında.
Vee, versiyon kontrol nasıl çalışıra gelelim.
Açıklamadan önce bir kaç basit terimden bahsedeyim, öncelikle push ve pull.
- Push: Adından anlayacağımız üzere, yazdığımız kodu sisteme pushlamak kaydetmek için kullanırız.
- Pull: Eğer sistemde bizden sonra başka kullanıcılar değişikliğe sebep olduysa, kodun en güncel haline ulaşmak için, kod havuzundan kodu çekeriz.
-Branching ve Merge: Branching aslında git'in en önemli özelliği. Yazdığınız projeyi farklı dallara ayırarak, her dalda sadece o dalın işini yapmanıza olanak sağlar. Örneğin elimizde bir master, bir de feature yani özellik dalları olsun. Sisteme yeni bir fonksiyon yazdıktan sonra, kodu önce feature branchine pushlayıp, daha sonra master ile birleştiririz. Bu şekilde birden fazla görevi senkron bir şekilde ilerletme imkanına sahip oluruz.
Giti bir projenizde kullanmak için öncelikle kendi web sitesinden indirmek ve kurmak durumundasınız. Ya da 3. parti yazılımları tercih edebilirsiniz. Önerim GitKraken'dir.
Sisteminizde git'e sahip olduğunuzu varsayarak devam edecek olursam, öncelikle proje klasörüne gelip
yazıyoruz. Bu komut versiyon kontrol sisteminin proje içine kurulumunu gerçekleştiriyor. Daha sonra yeni bir branch açıp geliştirmeye orada devam etmek için
Bu komut bize dev adı altında yeni bir dal açıp, otomatik olarak o dala geçiş yapmamızı sağlayacak. Daha sonra var olan başka bir dala geçmek istediğinizde
yazmanız yeterli olacaktır.
Kodunuzu yazdınııız, dediniz ki tamam bunu pushlayayım, sonra devam ederim. Nasıl ?
hemen
ile üzerinde değişiklik yapılmış tüm dosyaları ön belleğe alıyoruz. Burada şöyle bir parantez açayım, eğer git sisteminde bulunmasını istemdiğiniz, bir dosya klasör vs varsa bunu .gitignore dosyasının içine eklemeniz gerekmekte.
Daha sonra
Burada yaptığımız şey ise, değişiklik yapıp ön belleğe aldığımız dosyaları, var olanlarının üzerine yazıyoruz. Bunu yaparken sistem size commit mesajı girmenizi isteyecek, ve bunu boş geçemiyorsunuz. Önerilen şey, detaylı bir mesaj yazmanızdır. Neyin değiştiğini neyin eklendiğini açıklayıcı bir dille yazmanız ilerde size ve proje partnerlerinze fayda sağlayacaktır.
Ve son olarak dev dalını master ile birleştirmek için
Önce master dalına geçip, daha merge komutunu yazıyoruz.
Işiniz bittiğinde şu şekilde bir mesaj almış olacaksınız
Tebrikler artık bir git kullanıcısınız. Aynı mantıkla github'a değişikliklerinizi direkt olarak gönderebilmenizi sağlayan remote komutu da mevcut.
İyi programlamalar!
Öncelikle Git nedir ile başlayalım.
Git, linux kernel yaratıcısı Linus Torvalds'ın geliştirdiği bir versiyon kontrol aracıdır. Ne işimize yarar derseniz, yazdığınız kodun evrimini görmenize, yaptığınız bir güncellemeden sonra programda çalışmayan fonksiyonun neresinde değişiklik yapıpta kırdığınıza kadar bir çok ayrıntıyı karşınıza sunar.
Neden önemlidir diyorsanız, günümüzde bir versiyon kontrol toolu olmadan bir projeye başlamak,
yada devam ettirmek düşünülemez bile.
GitHub
Adından da anlaşılacağı üzere GitHub git mantığı ile kurulmuş bir website'dir. Amacı tamamen git ile aynı olup, farkı, reposistorylerinizi internet üzerinde tutmanıza, diğer kullanıcılar tarafından rahat erişime açık hale getirmeye, bug, milestone gibi önemli noktları belirtebildiğiniz, insanların yazdığı kodları forklayıp, geliştirip açık kaynak kodlu projelere yardım edebileceğiniz bir sistem. Kod deposu da diyebiliriz aslında.
Vee, versiyon kontrol nasıl çalışıra gelelim.
Açıklamadan önce bir kaç basit terimden bahsedeyim, öncelikle push ve pull.
- Push: Adından anlayacağımız üzere, yazdığımız kodu sisteme pushlamak kaydetmek için kullanırız.
- Pull: Eğer sistemde bizden sonra başka kullanıcılar değişikliğe sebep olduysa, kodun en güncel haline ulaşmak için, kod havuzundan kodu çekeriz.
-Branching ve Merge: Branching aslında git'in en önemli özelliği. Yazdığınız projeyi farklı dallara ayırarak, her dalda sadece o dalın işini yapmanıza olanak sağlar. Örneğin elimizde bir master, bir de feature yani özellik dalları olsun. Sisteme yeni bir fonksiyon yazdıktan sonra, kodu önce feature branchine pushlayıp, daha sonra master ile birleştiririz. Bu şekilde birden fazla görevi senkron bir şekilde ilerletme imkanına sahip oluruz.
Giti bir projenizde kullanmak için öncelikle kendi web sitesinden indirmek ve kurmak durumundasınız. Ya da 3. parti yazılımları tercih edebilirsiniz. Önerim GitKraken'dir.
Sisteminizde git'e sahip olduğunuzu varsayarak devam edecek olursam, öncelikle proje klasörüne gelip
Kod:
git init
Kod:
git checkout -b dev
Bu komut bize dev adı altında yeni bir dal açıp, otomatik olarak o dala geçiş yapmamızı sağlayacak. Daha sonra var olan başka bir dala geçmek istediğinizde
Kod:
git checkout "branch ismi"
Kodunuzu yazdınııız, dediniz ki tamam bunu pushlayayım, sonra devam ederim. Nasıl ?
hemen
Kod:
git add .
Daha sonra
Kod:
git commit -m "X fonkiyonunu ekledim"
Ve son olarak dev dalını master ile birleştirmek için
Kod:
git checkout master
git merge dev
Işiniz bittiğinde şu şekilde bir mesaj almış olacaksınız
Kod:
$ git checkout master
$ git merge dev
Updating f42c576..3a0874c
Fast-forward
index.html | 2 ++
1 file changed, 2 insertions(+)
Tebrikler artık bir git kullanıcısınız. Aynı mantıkla github'a değişikliklerinizi direkt olarak gönderebilmenizi sağlayan remote komutu da mevcut.
İyi programlamalar!


