5 Nisan 2015 Pazar

Team Foundation Server'da Check-in, Check-out

     Team Foundation Server, projemizi düzen içerisinde, sağlıklı bir ortam sunarak geliştirmemizi sağlar. Program her zaman proje geliştiricilerine en güncel hali sunar ve istediğimiz taktirde önceki sürümlere ulaşabilme imkanı sağlar.[1]

     Bir çok dosyanın bulunduğu proje üzerinde değişiklik yapmak isteyen geliştirici "Check Out" ismi verilen işlemle istediği değişiklikleri yapmak için çalışmak istediği dosya üzerinde bir bakıma çalışma izni alır. Bunu yapmaya başladığı andan itibaren diğer tüm geliştiriciler arkadaşlarının o dosya üzerinde çalıştığını görecektir. Ekip arkadaşları da bu duruma göre kendi yollarını izleyebilirler. Aynı şekilde dosya üzerinde çalışan kişi tüm işlerini bitirdikten sonra "Check İn" işlemi ile dosyayı tekrar server ortamına geri bıraktığını bildirir ve dosyanın son hali ekibe sunulur. Bu aşamadan sonra ekip arkadaşları geliştiricinin yaptığı değişiklikleri gözlemleyebilirler.[1]

     Source Control Explorer'dan server üzerindeki tüm kayıtlı dosyalara ulaşabiliyoruz ve buradan çalışmak istediğimiz tüm dosyaları kendi ortamımıza aktarabiliyoruz. Bunu yapmak için şekil 1'de gösterildiği gibi seçtiğimiz dosyaya sağ tıklayarak "Get Latest Version" dedikten sonra proje dosyalarımızın, kodlarımızın en güncel halini geliştirme ortamımıza yüklemiş oluyoruz.[1] Ayrıca şekil 1'de görüldüğü gibi bazı branchların siyah iken bazılarının gri olmasının sebebi, Get Latest Version ile son sürümünün alınmamış olmasıdır. Bu komut ile sunucu üzerindeki dosyanın son hali geliştirme ortamımıza alınmış olur. Bu işlemden sonra onun da siyah olduğunu görüyoruz bu sayede bu işlemi unutmamak için TFS belirtmiş oluyor.


Şekil 1: Get Latest Version
    1. Versiyon Kontrol Sistemine Dosya veya Proje Ekleme
    Team Project-Source Control Explorer'a eklenen dosyaların bir proje olması yada bir projeye dahil olması gerekmemektedir. Doğrudan bir metin dosyası yada resim dosyası gibi bir dosya da eklenebilmektedir.
    Bir önceki yazımda bahsettiğim gibi uygun branchlar oluşturarak bunların altına proje kodlarımı eklemeyi adım adım göstereceğim. İlk olarak şekil 2'de gösterildiği gibi branch yapımızı oluşturuyoruz.

Şekil 2: Branch Yapısı
    Daha sonra sıra proje eklemeye geliyor. İsterseniz yeni bir proje oluşturarak ya da varolan bir projeyi ekleyerek devam edebilirsiniz. İlk olarak yeni bir proje oluşturarak ilerlemeyi göstermek gerekirse, normal bir şekilde Visual Studio menüsünden yeni bir proje, web sitesi vs istediğimizi seçerek şekil 3'te görüldüğü gibi "Add to Source Control" kısmını seçerek oluşturuyoruz.

Şekil 3: Proje Ekleme
      Proje oluşturduktan sonra şekil 4'te görüldüğü gibi hangi vesiyon kontrol sistemi kullanmak istediğimizi soruyor. Team Foundation Version Control'ü seçerek ilerliyoruz.

Şekil 4: Versiyon Kontrol Sistemi Seçimi
      Daha sonra, şekil 5'te görüldüğü gibi Team Projemiz altında oluşturduğumuz branchlardan birini seçerek ya da yeni bir klasör oluşturarak proje dosyalarımızın nereye ekleneceğini seçiyoruz. Ben Main branchını seçerek tamamlıyorum.

Şekil 5: Solution Ekleme

    Projemizi eklemeyi tamamladıktan sonra Souce Control Explorer'da Main branchı altında proje dosyamızı görebiliriz.
    Bu şekilde yeni bir proje oluşturup eklemeyi tamamlamış oluyoruz. Eğer varolan bir projeyi eklemek istersek şekil 6'da görüldüğü gibi Solution Explorer'da projemize sağ tıklayarak "Source Control" menüsü altından "Add Solution to Source Control" diyerek yine aynı aşamalar ile ekleyebiliriz.

                                                                                                   Şekil 6: Varolan bir Proje Ekleme

     2. Kodu Check-In, Check-Out Yapma
     Projeyi Source Control'a ekledikten sonra dosyalarımızın yanında işaretleri oluşmaktadır. Bunun nedeni o dosyaların henüz Check-in olmamasıdır. Check-in olarak dosyaları server ortamına bırakırız ve daha sonra Check-out yaparak kullanıma alabiliriz. 
     Şekil 7'de görüldüğü gibi Source Control Explorer'da dosyamıza sağ tıklayarak "Check-In Pending Changes" diyerek sağda açılacak Team Explorer menüsündeki istenirse Commit yazılarak (Her check-in olayında yaptığınız değişiklikle ilgili açıklayıcı bir yorum yazmanız neler yaptığınızı takip etmeniz açısından faydalı olacaktır.) Check-In butonuyla işlemi tamamlıyoruz ve projemiz Team Foundation Server altında tutulmuş oluyor.

 Şekil 7: Check-In
     

     Yazımın başında da değindiğim gibi Team Foundation Server altında tutulan herhangi bir projeyi açıp değişiklik yapmaya çalıştığımızda Visual Studio dosyayı Check-out etmemiz konusunda bizi uyarır. Yani dosyayı değiştirmeden önce kullanıma alınması gerektiğini belirtmektedir. Bunun için projemize sağ tıklayarak "Check-Out for Edit..." diyerek şekil 8'de görülen ekranda hangi dosyaların check-out edileceği liste olarak verilmiş ve seçme şansı tanınmıştır. Bunun yanında dosya check-out edilirken uygulanacak kilit seçeneği de seçenekler olarak listelenmiştir.

     Şekil 8: Check-Out

     
    İlk seçenekte, var olan kilitleri koruyarak diğer kullanıcıların dosyayı check-out etmesini kısıtlayarak aynı anda bir dosyayı sadece bir kullanıcının düzenleyebilmesini sağlamış olur.

    İkinci seçenekte, diğer kullanıcıların dosyayı check-out edebilmesini ancak dosya bizim tarafımızdan checkout edilmiş durumda iken diğer kullancıların check-in yapabilmesini yasaklar.
    Burada ilk seçeneği seçerek check-out işlemini tamamlıyoruz ve şekil 9'da görüldüğü gibi dosyamızın yanında bunu belirten kırmızı tik işaretini görüyoruz.Bu işlemden sonra dosyamız üzerinde değişiklik yapıp tekrar check-in yapabiliriz.

                                 Şekil 9: Check-out


    Bir proje dosyasına "Check-Out" olup yeni bir item eklemek istediğimiz zaman Merge sağlığı açısından eklediğimiz item ile uğraşmaya başlamadan bunu diğer tüm geliştiricilere hemen aksettirmek doğru olacaktır. Bu yüzden hemen "Check-In" olunmalı ve ondan sonra kendimizi tekrar değişiklik yapabiliyor duruma getirmeliyiz. Aksi halde bu durumdan ekibin haberi olmazsa Merge aşamasında TFS'nin halledemeyeceği durumlarla karşılaşabiliriz.[1] Bir sonraki yazımda Merge konusunda ayrıntılı olarak bu duruma değineceğim.

     3. Dosya Geçmişini Görüntüleme
      Geliştiricilerin proje üzerindeki yaptığı değişiklikler tüm ayrıntılarıyla kayıt edilmektedir. Öyle ki geliştiren herkes bir klasöre kim, ne zaman erişmiş, ne kadar süre geçirmiş, neler değiştirmiş, açıklamalarıyla beraber erişme fırsatına sahiptir. TFS ayrıca işin içinden çıkamadığınız durumlarda en son çalışan haline de erişebilme imkanı sunabilmektedir. Bunun yanında uğraşıp bitiremediğiniz projeleri kimse ile paylaşmadan server üzerinde sonradan tekrar erişmek üzere ayrı bir şekilde tutabilirsiniz.[1] Bunun için Source Control Explorer'da istenilen dosyanın üzerine sağ tıklayarak "View History" diyoruz ve şekil 10'da görülen History penceresi açılıyor.

Şekil 10: View History 

      Burada istediğimiz versiyona sağ tıklayarak çıkan menüden istersek o versiyonu çalışma alanımıza alma, karşılaştırma gibi işlemleri yapabiliyoruz.

   
     Bu haftalık yazımı burada bitiriyorum. Haftaya merge ve kod karşılaştırma konularına değineceğim. Okuduğunuz için teşekkürler...













Referanslar:

6 yorum:

  1. Merhaba,
    Visual Studio Online üzerindeki team projesinde TFS için, diğer kullanıcılar dan kod kontrölü talebi, Request Review yapılabiliyor mu?

    YanıtlaSil
    Yanıtlar
    1. Merhaba,
      Visual Studio Online'dan yapılamıyor, sadece Team Explorer üzerinden yapılabiliyor diye biliyorum.

      Sil
  2. Visual Studio üzerindeki Team Explorer üzerinde de malesef bu özellik yok gibi görünüyor. VSO kullananlar için bu ihtiyaçı gidermek için öneriniz nedir? Git kullanmaya mı yönelmek gerekir?

    YanıtlaSil
    Yanıtlar
    1. Eğer TFS 2013 Advanced olarak kurulum yaptıysanız, Team Web Access ve Team Explorer üzerinden rahatlıkla Request Review yapabilirsiniz. Team Explorer'da My Work menüsünde direk Reuest Review linki bulunmaktadır, eğer göremiyorsanız gerekli izinleriniz ayarlanmamıştır.

      Sil