Anasayfa » Git

Git ile Revizyon Kontrolü (Git – Revision Control)

26 Mayıs 2012 2.565 kez okundu 4 yorum
1 Star2 Stars3 Stars4 Stars5 Stars (Henüz hiç oy kullanılmadı. İlk oyu siz verin.)
Loading...

Bu yazımda git bash ve git gui ile revizyon kontrolünü anlatacağım.

Yazının amacı; ana bir klasör oluşturarak takip edilecek dokümanları içine koymak. Sonrasında 2-3 kullanıcı bu ana klasörden ilgili dokümanları çekip revizyonlarını yaptıktan sonra ana klasöre geri  yükleyecekler. Bu sayede revizyonlar izlenebilecek.

Bu işlemi yaparken iki takip tarzını göz önünde bulunduracağız. Birincisi kullanıcıların aynı bilgisayarı kullanarak bu revizyon işlemlerini gerçekleştirmeleri, ikincisi ise ortak klasörün bir bilgisayarda bulunmasına rağmen kullanıcılar kendi bilgisayarlarından revizyon işlemini yapabilecekler. İlkinin avantajı, daha basit bir yapıya sahip olması dezavantajı ise, hangi kullanıcının hangi dosyada değişiklik yaptığından çok, hangi dosyada değişiklik yapıldığının tespit edilebilmesidir. Yani değişikliği kimin yaptığı belli değildir. İkinci yöntemin avantajı değişikliği yapan kişinin de belli olmasıdır. Ancak kurulum daha zahmetlidir.

İlk önce birinci yöntem, yani aynı bilgisayar kullanılarak yapılan revizyonun takibini anlatalım. Bu anlatımı direk olarak örnek üzerinden yapacağım.

Sırasıyla git bash ve git gui ile nasıl yapıldığını ayrı ayrı görelim. Öncelikle git bash yani konsol üzerinden çalışalım.

  1. Takibi yapılacak dosyaların bulunacağı ana klasörü istediğimiz bir yerde oluşturalım. (ben git_revizyon adında bir klasör oluşturuyorum)
  2. git bash i açalım ve “cd [klasör yolu]” komutu ile oluşturduğumuz klasörün içine girelim
  3. daha sonra “git init” komutu ile klasörümüzü repo haline getirelim.

Klasörümüz artık hazır. Bundan sonra içine dosyalarımızı atalım. Ben içine new.doc adında bir word dosyası attım. Şimdi dosyamızda bir şeyler değiştirelim ve bunları kaydedelim.

  1. Word dosyasında değişiklikleri yapıp kaydettikten sonra, şu komutları izliyoruz.
  2. yine git bashi açıyoruz ve “cd [klasör yolu]”  ile klasörümüzü buluyoruz ve içine giriyoruz.
  3. git add .” (add den sonra boşluk var)  komutu ile klasör içindeki bütün dosyaları takibe alacağımızı belirtiyoruz.
  4. “git commit -m ‘yorum’ ” komutu ile yorum bölümüne istediğimizi yazıyoruz ve bu sayede yaptığımız değişiklikleri kayıt altına alıyoruz.

Bu işlemi değişiklik yapan herkesin uygulaması gerekiyor.

Şimdi yapılan değişiklikleri görelim.

  1. yine git bashi açıyoruz ve “cd [klasör yolu]”  ile klasörümüzü buluyoruz ve içine giriyoruz.
  2. “gitk” komutu ile history penceremizi açıyoruz. Burada yapılan değişiklikleri görebiliriz.

(tam görüntü için resme tıklayın)

Şimdi aynı işlemleri konsol yerin git gui ile yapalım.

  1. Takibi yapılacak dosyaların bulunacağı ana klasörü istediğimiz bir yerde oluşturalım. (ben git_revizyon adında bir klasör oluşturuyorum)
  2. git guii açalım ve Create New Repository butonu ile oluşturduğumuz klasörü gösterelim.

Klasörümüz artık hazır. Bundan sonra içine dosyalarımızı atalım. Ben içine new.doc adında bir word dosyası attım. Şimdi dosyamızda bir şeyler değiştirelim ve bunları kaydedelim.

  1. Word dosyasında değişiklikleri yapıp kaydettikten sonra, şu yolu izliyoruz.
  2. yine git gui yi açıyoruz ve “open recent repository veya open” yolunu izleyerek ilgili projeyi açıyoruz.
  3. rescan” butonu ile yapılan değişiklikleri unstaged changes altında görebiliriz. Benim word dosyamın adı new.doc olduğu için  onu seçiyorum ve ctrl+T komutu ile new.doc dosyamı staged changes bölümüne taşıyorum. Bu sayede bu dosya üzerinde yapılan değişiklikler kayıt altına alınacak.
  4. “initial commit message” bolümüne istediğim kayıt mesajını yazıyorum ve commit butonu ile değişiklikleri kaydediyorum.

Bu işlemi değişiklik yapan herkesin uygulaması gerekiyor.

Şimdi yapılan değişiklikleri görelim.

  1. yine git gui yi açıyoruz ve projeyi seçiyoruz. Ardından Repository-> visualize master’s history bölümünü açıyoruz. Bu pencere git bash ile açılan pencerenin aynısı yukarıdaki resmi inceleyebilirsiniz. Burada yapılan değişiklikleri görebiliriz.

Bu yöntemlerle aynı bilgisayarda yapılan değişiklikleri izleyebilirsiniz.

Şimdi ise ortak bilgisayar yerine herkes kendi bilgisayarından bu değişikliği yapabilsin. Bunun için ortak klasörümüzü barındıracağımız bir alan olmalı. Bu alan kendi server ınız olabilir veya benim gibi dropbox gibi dosya yedekleme sitelerini kullanabilirsiniz. Ben dropbox için anlatacağım.

Şimdi ücretsiz dropbox üyeliği aldıktan sonra bilgisayarınıza dropbox programını kuruyoruz. Dropbox klasörü kullanıcı klasörünüzün altında oluşması gerekiyor. Örneğin benim hp adında kullanıcı adım olduğu için bu klasörü hp altında oluşuyor.

İlk önce ortak kullanacağınız klasörü bu dropbox klasörünün içine atıyoruz. Dropboxın sitesine girerek bu klasörü değişiklik yapacağınız kişilerle paylaşmanız gerekiyor. Tabiki o kişilerinde dropbox hesabı olmalı ve bilgisayarlarına bu programı kurmalılar.

Bu işlemleri yaptığınızı varsayıyorum. Şu anda herkes sizin ortak klasörünüzü dropbox klasörü altında görüyor olması gerekiyor.

Git bash için şu adımları takip ediyoruz.

Bir defalığa mahsus şu işlemi yapıyoruz.

  1. Takibi yapılacak dosyaların bulunacağı ana klasörü dropbox altında. (ben git_revizyon adında bir klasör oluşturuyorum ve bu klasörü hp/dropbox/git_revizyon şeklinde atıyorum)
  2. git bash i açalım ve “cd [klasör yolu]” komutu ile oluşturduğumuz klasörün içine girelim. Dropboxa girmek için cd ~/dropbox komutunu kullanabilirsiniz.
  3. daha sonra “git — bare init” (çift tire)komutu ile klasörümüzü ortak repo haline getirelim.

Bu adımdan sonra siz de dahil tüm değişiklik yapacak kullanıcılar şu adımları izlemeli.

  1. Öncelikle herkes kendi klasörünü nerede bulundurmak istiyorsa git bash üzerinden oraya gitmeli.
  2. git clone  ~/dropbox/git_revizyon gitRevizyon” komutu ile herkes kendine bir kopya alıyor.(gitRevizyon oluşturulan kopyaya verilen isim.)
Şimdi ilk defa dosyaları ortak klasöre kim atacaksa o kullanıcı şu adımları izleyecek
  1. kendi clone ettiğiniz klasörün içine ilgili dosyaları atın.
  2. “git add .”
  3. “git commit -m “yorum””
  4. ve bu adımlardan sonra “git push origin master” komutu ile dosyaları tüm kullanıcılara gönderin.

Bu noktadan sonra herkes kendi clone ettiği klasörü üzerinden değişiklik yapacak. Kim dosyalarda değişiklik yapmak istiyorsa şu yolu izleyecek.

  1. Öncelikle git bash ile clone edilen klasöre girildikten sonra, “git pull origin master” komutu ile mevcut değişiklikleri çekmesi gerekiyor.
  2. daha sonra istediği değişikliği yapabilir.
  3. Yapılan değişiklikleri karşı taraflara yollamak için ise
  4. “git add .”
  5. “git commit -m “yorum””
  6. ve bu adımlardan sonra “git push origin master” komutu ile dosyaları tüm kullanıcılara gönderin

Şimdi yapılan değişiklikleri görmek için yine bash ile clone edilen local klasöre girdikten sonra, gitk komutu ile değişiklikler izlenebilir.

Genel olarak yöntemler bu şekilde.

İyi günler.

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

4 yorum »

  • Emre KAÇAN dedi ki:

    Version ile revizyon arasındaki fark tam olarak nedir?

  • admin dedi ki:

    Emre,
    Versiyon: uyarlama, adaptasyon, sürüm.
    Revizyon: yeniden gözden geçirme, inceleme, denetleme, kontrol etme.
    anlamlarına gelmektedir.

  • kemal dedi ki:

    Git ile ilgili;
    Svn nin Tortoisesvn si gibi bir şey var mı ?

  • admin dedi ki:

    Merhaba Kemal,
    TortoiseGit diye bir uygulama var. Kastın buysa eğer inceleyebilirsin.
    http://code.google.com/p/tortoisegit/

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.