PHP geliştirme için sürüm kontrolü

6 Cevap php

Ben bir sürüm kontrol sistemi kullanarak ve bir denemek istiyorum avantajları hakkında çok şey işitme olmuştur. Ben, son 2 yıldır PHP serbest web geliştirme yapıyordum iki ay geri bana yardım için iki programcı kiraladı. Yakında bir kişiyi daha işe alınacaktır. Biz sürekli bizden biri tarafından düzenlenmiş olan benim kendi hepsi 4 web siteleri, korumak. Ben kendim PHP öğrendim ve başka firmaların hiç çalışmamış. Dolayısıyla ben sürüm kontrolü, birim test ve tüm yeni duyuyorum.

Şu anda, bizim iş istasyonları üzerinde geliştirme sunucuları var. Bir sitenin belirli bir bölümünü düzenlemek, biz dev sunucusuna üretim sunucudan bu özel bölümünde (diyelim / news / veya / film / veya / duvar kağıtları /) için kodu indirmek, üretim yerel değişiklikleri ve yüklenenler yapar Sunucu (kod incelemesi yok / test). Bu nedenle, bizim dev sunucu eşya bizim sunucudan güncel her zaman. Bizden biri eşya gelen son kopyasını indirmek için unutuyor ve son değişikliği üzerine yazar Bazen, bu da sorun yaratabilir. Ben bu çok çok aptalca olduğunu biliyorum, ama şu anda bizim eşya sunucusu tüm güncellemeleri ve en son değişiklikler var sadece kopyasıdır.

Herkes benim için en iyi sürüm kontrol sistemi olan tavsiye misiniz? Hepimizin kodu için merkezi bir yedekleme yok çünkü ben, dağıtılmış sürüm kontrol daha fazla ilgileniyorum. Mercurial ve Git hakkında okumak ve Mercurial Mozilla, Sun, Symbian vs So tarafından birkaç büyük açık kaynak kodlu projelerde hangisinin benim için daha iyi sizce kullanılır bulundu? Benim geçerli kurulum daha iyi yapmak için kullanabileceğiniz herhangi başka bir paket varsa sadece sürüm kontrolü, o da belirtin :)

Thanks and Regards, Vinod Mohan

6 Cevap

Git oldukça iyi hedeflerinizi gerçekleştirebilirsiniz gibi geliyor. Dağıtılmış oluyor gibi, merkezi bir sunucuya bağlanmadan (işlemek, fark, yama geri) en işlemleri gerçekleştirebilirsiniz yerel yana çalışmak için mükemmeldir. Ayrıca başkası üzerinde çalışıyor, ve sonra (git Rebase denilen bu iş için kullanışlı bir araç sağlar) birlikte kodu bu iki sürümleri birleştirilmesi karmaşık görevi olan ise üretim için yeni bir kod bastırıyor birinin o çirkin anı önleyebilirsiniz.

Sen Hg (Mercurial) kullanarak bazı büyük projeler var, ama Git kullanarak bazı oldukça büyük olanlar, Linux Kernel, X.org, Android ve Debian gibi, var kaydetti.

Ben bütün siteler için git kullanın: hızlı, verimli ve kullanımı kolay yıldırım bulunuyor.


Düzenleme: Git kullanarak içine almak istiyorsanız, ben yanlış yürüyerek kapalı başlayarak sağ içeri atlayarak önce bazı okuma yapıyor tavsiye ederim daha sonra bazı korkunç etkileri olabilir. Bir Çevik İş Akışı izlerseniz, this kontrol etmek isteyebilirsiniz. Ben benim Git know-how en öğrendi Here's bir web sitesi.

Sen SVN, Git, Mercurial kullanabilirsiniz.

Büyük zorluk herkes sürüm denetimi kullanarak ve tembel almıyorum disiplinli olmak yaşıyor.

Sürüm kontrolü tek başına çalışırken bile inanılmaz bir araçtır, ve başkası ile çalışırken vazgeçilmez bulunuyor. Ben budala kullanarak öneriyoruz. Bu, çok hızlı mevcut araçları gerçekten harika bir dizi var, ve tabii ki github.com vardır. Mercurial temelde Git gibi iyi, ama biraz daha yavaş çalışır ve GitHub yoktur.

Budala kullanmak neden için, okumak http://whygitisbetterthanx.com/ lütfen

Burada git ile başlarken güzel görünümlü bir öğretici bulunuyor: http://www-cs-students.stanford.edu/~blynn/gitmagic/index.html

Kesinlikle Mercurial. Eğer Git veya SVN kullanabilirsiniz rağmen, Mercurial iki nedenden dolayı iyidir:

  1. Vs Git: Windows ile iyi entegrasyon.
  2. SVN vs: Bu dağıtılmış oluyor.

Kendinizi (zaten oldukça kolay) bir Mercurial sunucusu çalıştırmak istemiyorsanız, pek çok hizmetler vardır. Fırın + FogBugz mükemmel bir kombinasyonudur. CodeBaseHQ (ayrıca Git ve SVN destekler), Bitbucket, ve daha birçok da bulunuyor.

Bunun üzerine atlamak önce şiddetle en az Joel Spolsky's tutorial, size tavsiye, ama ben şiddetle de okumanızı öneririz Mercurial: The Definitive Guide.

Üzgünüm, ben bir DVCS kutsal savaş başlatma niyeti yoktu. Ben Git denemek için gidiyorum.

Evet, sürüm kontrolü yardımcı olacaktır. Başlamak için, ben sizin için iki önemli sorunları görmek:

  • hosted or self-managed? Eğer bir sunucuda bu kendinizi ev sahibi, ya da sizin için bunu dikkat çekmek için bir hizmet istiyorsanız istiyor musunuz? Bir barındırılan seçeneği için sunucu bakmak yönetmek içine değilseniz orada ya da yol gitmek için nedenler vardır, ama.

  • SVN or Git Orada diğerleri, ancak bu iyi açık kaynak yarışmacının vardır.

Avantaj ve Dezavantajları (bence):

SVN: İyi dersler ve up-to-hız ile almak oldukça kolay. Eğitim gereksinimi (ben bunun biraz yaptık) küçük. SVN birlikte bulundukları ekibi gerçekten iyi çalışıyor, şube sınırlı sayıda (herhangi gerek olmayabilir) ile vb projeler, çok, katı. Diğer araçlar ile entegrasyonlar bol vardır.

Git: Başlarken SVN ile biraz daha kaba olabilir. Docs Bazıları iyi, ama internals oldukça anlayış kabul sürü içindir. Eğer onu asmak olsun, büyük bir esneklik vardır, ama ben başlarken gerçekten yanılmak onunla başladı neredeyse herkesi gördüm. Hatta ay boyunca onunla çalıştıktan sonra, insanların kullanımı için en iyi desenleri tartışır. Gerçekten (geçmişini izlemek istiyorum) 1-kişi projeleri için, tatlı ve GitHub gibi dağıtılan projeler için. Ben hız ve esneklik tadını çünkü ben, hatta küçük co-located ekipleri için Git kullanın.

Eğer takım hakkında söylediklerini göz önüne alındığında, ancak, muhtemelen SVN çalışıyorum tavsiye ederim. Orada gidiyor yardımcı olmak için daha iyi bir kaynak olacak ve onunla sinirli almak için daha az olacak.

Umarım bu yardımcı olur.