Anasayfa » Git

Git Nedir? Git Kullanımı – Git Komutları – 3

20 Eylül 2011 9.060 kez okundu 6 yorum
1 Star2 Stars3 Stars4 Stars5 Stars (2 oy,5 üzerinden : 5,00 )
Loading...

Bugün sizlere git le alakalı örnekler göstereceğim, bu arada git in temel komutlarını göstereceğim.

Şimdi önce git bash (windows için) uygulamasını başlatıyoruz. Linux kullanıyorsanız (örneğin pardus için pisi içersinde git i bulabilirsiniz.) normal konsoldan da yazabilirsiniz.

Uygulamamızı çalıştırdıktan sonra üzerinde çalıştığımız projenin bulunduğu klasöre gidiyoruz.
bu klasör boş bir klasör olabileceği gibi daha önceden başladığınız bir projenin klasörüde olabilir.Şimdi içinde bulunduğumuz klasörü git deposu haline getirelim.
Şimdi herşey yolunda gittiyse şöyle bir cevap alacaksınız.
Böylece klasörümüzü git deposu haline getirdik. Şimdi ikinci komutumuzu yazalım.
Bu komutlar klasörümüzdeki değişiklikleri izlemeye alıyoruz.Şu anda klasörümüz boş olduğu için herhangi bir cevap almayacağız. Bunun için klasörümüze index.php adında bir dosya açıyorum ve içinde şunları yazıyorum.(Buradaki php kodları çalışmayabilir, amaç dosyada sadece birşeylerin olması.)

şimdi git add . komutumuzu çalıştıralım. Index.php dosyamızı şimdi izlemeye aldık. Durumunu sorgulamak için
komutunu kullanabiliriz. Bu komutla karşınıza dosyaların durumlarının olduğu bir özet gelecek. Şimdi yaptığımız bu değişiklikleri commit edelim. Yani bir versiyon olarak saklayalım. Bunun için şu komutu kullanacağız.

Bu komutu girdiğinizde karşınıza yaptığınız versiyonu açıklamak için bir tanım girmenizi isteyecek. Bunun için windows kullananlar öncelikle “i” harfine basarak bir tanım girecekler, ardından esc tuşu ve ardından “:wq” (iki nokta w q) girerek kaydı tamamlayacaklar. Linux kullananlar normal tanımı girdikten sonra ctrl+(hangi tuş çıkıyorsa) ve ardından değişiklikleri kaydet diyecekler. Ben isim olarak “ilk commit” diyorum.Şimdi projemiz ilk versiyonuyla kaydedilmiş oluyor. Yaptığımız bu commitlerin bir geçmişini görüntülemek için

komutunu kullanabilirsiniz. Değişiklikleri commit ettiğimize göre

komutunu durumu sorgulamak için tekrar kullanırsak.
şeklinde son committen bu yana projenin working alanında yani git add . ile eklediğimiz alanda herhangi bir değişiklik olmadığını gösteriyor.

Şimdi tekrar index.php dosyamızı açalım ve kodumuzu biraz değiştirelim.

şimdi tekrar commit etmeye çalışalım. Karşımıza şöyle bir uyarı gelecek.
Burada diyor ki yaptığınız değişikliklerin commit edilebilmesi için öncelikle git add . ile izlemeye alınması gerekiyor.

Öyleyse tekrar git add . ve git commit komutlarını çalıştırıyorum. ve tanım olarak “ikinci commit” diyorum.
Yukarıda yine silinen ve eklenen dosyaların bir özetini bize sunuyor.
Şimdi internette var olan bir depoyu kendi bilgisayarımıza çekelim. Bunun için
komutunu kullanıyoruz. Ben örnek olarak.
Deneyeceğim. Bu komutla o anda içinde bulunduğumuz klasöre grit adında bir klasör açılacak ve içerisine projenin tam bir kopyası indirilecek.
İstersek komutu şu şekilde
kullanarak klasör ismini kendimiz belirtebiliriz. Burada klasör ismimiz mygrit olacak.

Şimdi bir projenin hayat döngüsünü diyagram yardımıyla gösterelim:


Figure 2-1. dosyanızın durumlara göre hayat döngüsü.

Eğer tek başınıza bir projede çalışıyorsanız local olarak genel komutlar bunlar.

Şimdi projenizi nasıl dallandıracağınıza (branch)  geçelim. Öncelikle ne olduğundan kısaca bahsedeyim. Branch (dallanma) projenizin bir anında var olan durumunu koruyarak projeniz üzerinde değişiklikler yapmanıza olanak tanır. Daha sonra bu değişiklikleri ana projeye uygulayabilir veya iptal edebilirsiniz. Bunu diyagramlar yardımıyla açıklayalım. İlk önce projenizi  üç kere commit ettiğiniz varsayalım. Sırasıyla  98ca9, 34ac2,f30ab şu anda gördüğünüz gibi master branch tayız.

İşte tam bu noktada dallanmaya gitmek istiyoruz. O zaman şu komutla yeni bir branch oluşturuyoruz.
Testing ismindeki branch oluştu ve bizim ana branch ımız olan master ile aynı noktaya point ediyor.

Peki hangi branch ta olduğumuzu nerden biliyoruz. İşte hangi branch ta olduğumuzu da head adında bir pointer tutuyor.

Gördüğünüz gibi şu anda master branch ındayız. Peki bunu komutla nasıl bileceğiz.
Gördüğünüz gibi master ın başında yıldız işareti var. Peki diğer branch a nasıl geçiyoruz.

Şimdi testing branch ına geçtiğimize göre index.php dosyamızda bir değişiklik yapalım. Dosyamızı şu şekilde düzenleyelim

ve git add . ve git commit le “ucuncu commit ” diye kaydedelim.

şimdi bu noktada master branchımıza geri dönelim.

Şimdi index.php dosyamızı kontrol edelim.

Gördüğünüz gibi yaptığımız değişiklikler görünmüyor. Çünkü onlar testing branchında bekliyor. Master branchında iken git log komutunu çalıştırırsak zaten “ucuncu commit” i göremeyiz.

Şimdi de master branch ında iken index.php dosyamızda bir değişiklik yapalım.

Peki tam bu noktada iki branchı birleştirmek istersek? O zaman şu komutu kullanıyoruz.

artık testing ve master dalları birleşti. Eğer birleşme sırasında çakışma meydana gelirse siz bu çakışmaları dosyayı açıp elle düzeltmeniz ve işeleme öyle devam etmeniz geriyor. Dosyayı açtığınızda zaten çakışmaların olduğu noktaları gösterecek size.
Bugünlük bu kadar, sonraki derslerimde komutlara devam edeceğim. İyi günler

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

6 yorum »

  • galip dedi ki:

    Cok güzel bir calisma olmus ellinize saglik gercekten de cok yararli bilgiler var icnde, tekrardan saglun

  • erdinc dedi ki:

    en son örnekte (branchların) birleştirilmesini gösterdiğiniz örnekte “$ git branch testing” şeklinde göstermişsiniz ancak bu komut testing adında bir branch yaratmaya yarıyordu ve buna bağlı olarak Git bize bu isimde bir branch ın daha zaten var olduğu hatasını veriyor…bir yanlışlık mı var acaba?

  • admin dedi ki:

    Erdinc, haklısın o satırda bir problem olmuş. branch kelimesi yerine merge kelimesi kullanılması gerekiyordu, düzelttim.
    Teşekkür ederim.

  • Homepage dedi ki:

    … [Trackback]…

    […] Read More: makale.kodmerkezi.net/git-nedir-git-kullanimi-git-komutlari-–-3.html […]…

  • theCodeGuru dedi ki:

    Çok güzel bir çalışma olmuş. Ellerinize sağlık böyle yalın dili ve yoğun bilgisi olan kimselerin paylaşımlarının devamı dileği ile…

  • Erdem dedi ki:

    allah razı olsun 🙂

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.