Anasayfa » Git

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

9 Ekim 2011 3.691 kez okundu Yorum yok
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz hiç oy kullanılmadı. İlk oyu siz verin.)
Loading...

Bir önceki dersimizde dalları(branch) birleştirmeyi yapmıştık. Bu dersimizde tekrar birleştirme (merge) işlemi yapacağız ve çakışmalar meydana geldiğinde çözeceğiş. Ardından hep local olarak kullandığımız git’i github ve dropbox ile başka geliştiriciler ile paylaşacağız. Böylece projemize uzaktan başka arkadaşlarımız dahil olacak ve geliştirme sürecinde bize katılacaklar.

İlk olarak yeni bir proje ile merge işlemini ve çakışmaları ele alalım. Bunun için git bash’ i başlattıktan sonra, aşağıdaki komut ile ilgili klasörü tekrar repo(git deposu) haline getiriyorum.

$ mkdir kodmerkezi
$ cd kodmerkezi
$ git init

şimdi kodmerkezi klasörümün içine bir adet text.txt açıyorum ve içine

“başlangıç satırı”

yazıyorum. Daha sonra bunu

1
2
$ git add .
$ git commit -m 'ilk commit'

ile kaydediyorum. Şimdi “masteriki” adında ikinci bir branch(dal) oluşturup ona geçeceğim.

1
2
$ git branch masteriki
$ git checkout masteriki

Şimdi text dosyamızda değişiklik yapalım. Bunun için dosyamıza

“master ikinin satırı”

yazalım.Tekrar git add . ve git commit ile kaydedip master branchımıza geri dönelim.

1
2
3
$ git add .
$ git commit -m 'ikinci commit'
$ git checkout master

Şimdi text dosyanızı açıp bakarsanız ikinci branch da iken yaptığımız değişikliği göremezsiniz. Çünkü onu masteriki branchında yaptık ve orada kaldı. Şimdi master branchımızdaki yazıyı da değiştirelim. Bu sefer yazıyı

“asıl masterın satırı”

yapalım. Ve komutlarımızı çalıştıralım

1
2
$ git add .
$ git commit -m 'ucuncu commit'

Şimdi şöyle düşünebiliriz. Kod geliştiricilerden bir aynı satıra “master ikinin satırı” yazdı diğeri ise “asıl masterın satırı”. Eğer bu iki geliştirici bir araya gelip kodları birleştirmek isterse bir çakışma meydana gelecek. Çünkü aynı satırda iki farklı kod veya yazı var. Şimdi birleştirme işlemini yapalım.

1
$ git merge masteriki

Bu komut ile içinde bulunduğumuz master dalını masteriki ile birleştirmek istediğimizi söylüyoruz. Ancak ekranda şöyle bir hatanın uyarısını alıyoruz.

1
2
3
Auto-merging text.txt
CONFLICT (content): Merge conflict in text.txt
Automatic merge failed; fix conflicts and then commit the result.

Bu uyarı demek oluyor ki, text.txt dosyanızda bir çakışma var, Öncelikle bu çakışmayı elle düzeltin daha sonra birleştirme işlemine devam edin.

Şimdi text.txt dosyamızı açıyoruz, git bize nerede çakışma olduğunu şu şekilde söylüyor.

1
2
3
4
5
<<<<<<< HEAD
asıl masterın satırı
=======
master ikinin satırı
>>>>>>> masteriki

Bu iki satırdan birini seçmemizi söylüyor, Mesela ben örnek olarak “master ikinin satırı” seçeceğim ve diğer herşeyi sileceğim

Bunlar silinecek ->
<<<<<<< HEAD

asıl masterın satırı
=======

>>>>>>> masteriki"

Yani kalmasını istediğimiz satır harici herşeyi siliyoruz. Dosyamızı kaydedip tekrar git add . ve git commit satırlarını çağırıyoruz ardından tekrar merge ediyoruz.

1
2
3
$ git add .
$ git commit -m 'cakisma duzeldi'
$ git merge masteriki

Son satır olan merge işlemini yapmadan da işlem tamamlanmış olabilir.

Merge işlemini de tamamladıktan sonra size bir sonraki dersimde github.com ve dropbox.com u anlatacağım. İyi günler

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

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.