Ortak çalışacak bir ekibin olmadığı tek bir web mağazası olmadıkça, dosya paylaşımına devam eden sıkıntıyı yaşadınız. Ne kadar zor olursa olsun, birden fazla kişi tek bir projede bir sürüm kontrol sistemi olmadan çalıştıklarında işler kaotikleşir .

Geliştiricilerin web siteleri ve web sitelerinin uygulanması ile çalışıyorsanız, ön uç şablonları ve arka uç işlevselliği arasındaki birleştirme korkunç bir kara delik olabilir.

Üstyazılar, kaybolan dosyalar ve çok kullanılan “önceki bir sürümden çalışma” olgusu gibi konular sürekli olarak kırpılır . Ve arka uç işlevselliği şablonlarınıza yerleştirildikten sonra, bir geliştiricinin çalışmak için çok zaman harcadığı bir şeyi kırmaktan korkmak için onlara dokunmaktan korkuyorsunuz.

Buna ek olarak, herkesin oranlardan çekildiği ortak bir deponuz olsa bile, ekibinizin en az bir üyesi en son dosyaları yakalamayı unutmuş ve en son eklemelerle bir şeyler havaya uçurmak üzere.

Bu makalede, size mükemmel bir sürüm kontrol sistemi olan Git'in hızlı bir gözden geçirmesini vereceğim.

Sürüm Kontrolü - Hızlı ve Kirli Açıklama

Sürüm Kontrolü ( Revizyon Kontrol veya Kaynak Kontrol Yönetimi olarak da bilinir) dosya paylaşım problemini çözmek için harika bir yoldur.

Temel kavram şu: tüm proje dosyaları için bir ana depo var . Ekip üyeleri dosyaları kontrol eder, değişiklikler yapar ve sonra bunları tekrar kontrol eder (veya taahhüt eder). Sürüm Kontrol Sistemi (VCS) dosyaları kimin değiştirdiğini, ne zaman değiştirildiğini ve yeni ya da farklı olduğunu otomatik olarak not eder.

Ayrıca, değişim hakkında küçük bir not yazmanızı ister, böylece projedeki herkes, ne yaptığınızı ve niçin bir bakışta bilir. Her dosya daha sonra bir düzeltme geçmişine sahip olacak, böylece bir şey korkunç bir şekilde yanlış giderse kolayca herhangi bir dosyanın bir önceki sürümüne geri dönebilirsiniz.

İyi bir VCS , aynı dosyadaki değişiklikleri birleştirmenizi de sağlar. Siz ve başka bir kişi aynı anda yerel olarak aynı dosya üzerinde çalışıyorsa, bu dosyaları ana depoya geri yüklediğinizde, sistem yeni ve tamamen güncel bir dosya oluşturmak için her iki değişiklik grubunu birleştirir. Birleştirme sırasında herhangi bir çakışma olursa, bunları sizin için vurgulayacaktır.

Dosyalarınızı düz tutmak için muhtemelen şu anda çok kaba bir VCS kullanıyorsunuz. Bir tasarımcıysanız, şuna benzer:

dpcwqxg_312gvhkh4s6_b

Tasarımcı Sürüm Kontrolü - FAIL

Bu, gerçekten kendilerini VCS'ye vermeyen PSD'ler ve diğer büyük ikili dosyalar için yeterince iyi çalışıyor. Ancak, bir web sitesinin kaynak kodunu yönetirken bunu yapmanın daha iyi bir yolu var.

Versiyon Kontrol Sistemi kullanmanın yararları şunlardır:

  • Dosyalar üzerine yazılamıyor
  • En son dosyaları tutan ortak bir depo var.
  • İnsanlar aynı dosyaları üzerinde çatışma olmadan eşzamanlı olarak çalışabilir
  • Gerekirse, dosyanın / projenin eski bir sürümüne geri dönmenizi sağlar
  • Geliştiricilerinizi çok mutlu etmek

Bir ekiple çalışmasanız bile, sürüm kontrolü bir cankurtaran olabilir . Dosyaları yedekleme, işinizi kaybetmekten veya baştan başlamak için kendinizi kurtarmak için yapabileceğiniz en kolay şeylerden biridir.

Bir VCS fikri ilk başta, özellikle belgelerin çoğu geliştiriciler tarafından yazıldığından beri göz korkutucu görünüyor. Ancak, iş akışınıza dahil etmek için harekete geçtikten sonra, göründüğü kadar zor değil.

dpcwqxg_322grqgzjcz_b

Git ile tanışın

Tamam, şimdi bir Sürüm Kontrol Sisteminin neden web ekibiniz için bir zorunluluk olduğunu görebilirsiniz. Biraz Googling yaparsanız, SVN, Mercurial, CVS, Bazaar ve Git gibi pek çok seçeneğin olduğunu göreceksiniz. Bunlardan herhangi biri ihtiyaçlarınız için iyi bir çözüm olabilir ve VCS'yi seçmeden önce bazı araştırmalar yapmanızı tavsiye ederim. Bu makalede, günlük kullandığım Git'e odaklanacağım. Güçlü bir Linux hayran kitlesi sayesinde popülerlik kazanan “yükselen bir yıldız” . GitHub ve Raylar topluluk.

Git, başlangıçta tarafından oluşturulan ücretsiz bir açık kaynaklı Sürüm Kontrol Sistemidir Linus Torvalds Linux kernal gelişimi için. Linus çok akıllı bir adamdır; Bir problemi çözmek için yola çıktığında, etrafı karıştırmaz. Git'in büyük farklılaştırıcılarından biri, SVN ve CVS'nin aksine bir dağıtılmış versiyon kontrol sistemi . Bu, her kullanıcının makinede yerel olarak depolanan veri havuzunun tam bir kopyasına sahip olduğu anlamına gelir. Bunun nesi harika? Bir kaç şey:

    • Her şey yereldir , bu yüzden çevrimdışı çalışabilirsiniz
    • Tek bir başarısızlık noktası yoktur . Projeniz için tek depoyu alarak çarpıp yanabilen tek bir merkezi sunucuya güvenmiyor.
    • Sürekli olarak merkezi bir sunucuyla iletişim kurmak zorunda olmadığından süreçler çok daha hızlı çalışır

      Git, SVN'den biraz daha zorlu bir öğrenme eğrisine sahiptir , ancak bunun karşılığıdır. Sadece geliştirici arkadaşlarınızın, Git'in yeni sıcaklığını kullandığınızı söylediğinizde ne kadar etkilendiğini düşünün! Tüm ciddiyette, öğrenme eğrisinin tüm bu dik olduğunu düşünmüyorum. SVN başlangıçta benim için de aynı derecede kafa karıştırıcıydı ve ben onu kullanırken daha fazla günlük problemler yaşadım.

      Git'i kurmak eğlenceli ve oyun değil. Yardım etmeye istekli, bilgili bir geliştiriciye sahip olduğum için şanslıydım, ancak size ulaşabilmeniz için çok sayıda kaynak var. Linux ve OSX için kurulum Windows için önemli ölçüde kolay olsa da, bir PC, Mac veya Linux kutusu üzerinde çalışacaktır.

      En son Git sürümünü indirebilirsiniz İşte Dosyaları aldıktan sonra, bunu deneyin. Hızlı rehber yükleme işlemine başlamanız için. Windows kullanıcıları için bu adım adım görsel rehber yardımcı olmalı. Mac kullanıcıları, bulunan bu kılavuzu deneyin GitHub

      Başlamak

      Git yüklendikten sonra, deponuzu oluşturabilirsiniz . Varolan bir klasörü Git deposuna dönüştürmek için, Terminal veya Komut İstemi pencerenizde aşağıdaki komutları kullanın:

      cd path/to/projectgit initgit add .git commit

      Git'e söylediğin şey şu:

      • Bu dizini başlat
      • İçerdeki her şeyi ekle - tüm dosyalar ve alt dizinler
      • Depodaki tüm güncel değişiklikleri gerçekleştirin veya depolayın

      Komut satırından nefret ederseniz, bunu Git GUI kullanarak da yapabilirsiniz. Gördüğün en güzel şey değil, ama ihtiyacın varsa orada.

      Git GUI ekran görüntüsü

      Örnek Git İş Akışı

      Şu anda birden fazla web geliştiricisiyle bir web uygulamasında çalışmak için bir Mac üzerinde Git kullanıyorum. Dosyalarımızı zorladığımız kodun “ana” sürümüne sahibiz ve her birimiz yerel olarak tam bir kopyasını çalıştırıyoruz. Herhangi bir günde, iş akışım şöyle bir şey yapıyor:

      dpcwqxg_323gnhgbwg3_b

      1. Terminali ateşle . Yerel mysql veritabanımı başlatıyorum (böylece oluşturduğumuz uygulama makinemde yerel olarak çalışabilir).
      2. “Git çekme” komutunu kullanarak en son değişiklikleri kontrol etmek için Terminali kullanın. Bu bana diğer ekip üyeleri tarafından yapılan tüm değişiklikleri alır ve ana depoya kontrol edilir.
      3. Projeyi TextMate'de açın ve değişiklikleri yapın.
      4. Değişiklikleri tamamla ve notlarımı ekle . Bu sadece onları yerel olarak taahhüt eder. Sık sık, muhtemelen günde on ya da daha fazla kez taahhüt ederim. Bu beni yolda tutmaya yardım ediyor.
      5. Değişikliklerimi "git" tuşuyla ana depoya aktar . Artık diğer ekip üyeleri değişikliklere göz atabilir ve görebilir. Bunu en az günde bir kez ya da büyük bir eklemeden sonra yapmalısınız.

      Tüm bu işlemler Terminal penceresinden kolayca yapılabilir, ancak ben görsel bir kızım. Bu sebeple kullanıyorum GitX , OSX için bir Git gui , benim taahhütlerimi yapmak. Terminali hala itip çekiyorum, ama GitX benim işleri organize etmemi ve kafamı yaptığım şeyin etrafına sarmamı kolaylaştırıyor.

      GitX Ekran Görüntüsü
      Üst kısımda, dosyalarda yapılan değişikliğin altını çizer. Sol altta Sahte Değişiklikler listeniz var. Bunları işlemek için bir veya daha fazla dosyayı sağdaki “Aşamalı Değişiklikler” alanına sürükleyin, taahhüt mesajınızı yazın ve Gönder düğmesine basın.

      Ağaca bakarsak, depoya neyin itildiğini görebilirim. Dosyalarım ana dosyalarla güncel değilse, üst kısımdaki yeşil ve mavi etiketler eşitlenmez. GitNub benzer bir Mac tarzı arayüz sunuyor.

      GitX Ekran Görüntüsü
      Ayrıca harika TextMate paketi mevcut. Bununla birlikte, TextMate'ten ayrılmadan itme, çekme, taahhüt etme ve daha fazlasını yapabilirsiniz. Son derece verimli.

      Git Bundle yüklü TextMate

      Daha fazla bilgi edin

      Git Hile Sayfası

      Zack Rusin tarafından Git Hile Sayfası

      yukarıda: Zack Rusin'in Git Hile Sayfası

      Ben kendimi Git için yeni bir bayanım, bu yüzden sadece yüzeyi ile ne yapabileceğine dair çizdim, ancak sürüm kontrolü konusunda da ışığı kesinlikle gördüm ve sonunda aldığımma sevindim. çoğunluğa.

      Git'i kullanma hakkında daha fazla bilgi edinmek için şu harika kaynaklara göz atın:

      Gitmek için Intros

      Git'i tanımak
      Wikipedia'da Wikipedia girişi
      Git Neden X'den Daha İyi?
      Linus Torvald'ın TED'in Git üzerine konuşması
      Git Turu: Temel Bilgiler
      Git Hazır

      Hile Sayfaları / İpuçları

      37 İşaretler Git Kaynakları
      Lazy için Git
      Git Kullanıcı Kılavuzu
      Git İpuçları bir Gaggle
      GitHub'un Git Hile Sayfası
      Git Magic

      Versiyon Kontrolüne Giriş

      Tasarımcılar için Versiyon Kontrolü
      Sürüm Kontrolü için Görsel Bir Kılavuz
      Revizyon Kontrolünde Wikipedia girişi
      Dağıtılmış Sürüm Kontrol Sisteminin Seçilmesi
      Bu Düğme Ne Yapar? (A List Apart)


      Sadece Mindy Wagner tarafından WDD için yazılmış. Viget Labs'ta bir web tasarımcısı ve 8 yılı aşkın süredir baskı ve web tasarımında çalıştı. Rensselaer Polytechnic Institute'ten Elektronik Medya Sanat ve İletişim dalında lisans derecesine sahiptir.

      Sürüm kontrolü için Git'i veya başka bir yazılımı kullanıyor musunuz? Lütfen deneyimlerinizi bizimle paylaşın!