Mevcut bir projeyi GitHub’a nasıl geçirebilirim?

Tamamlandı

Burada, projeyi eski bir sürüm denetimi sisteminden GitHub'a geçirmek için dikkat edilmesi gereken önemli noktalar ele alınıyor.

Neden GitHub’a geçiş yapılır?

Literatürde GitHub’ın iyi yönlerinden bahseden yazılar vardır. Sizi hareket etmeye ikna etmek bu modülün kapsamı dışındadır. Ancak, geçişinizi planlarken göz önünde bulundurmanız gereken konular bağlamındaki bazı önemli avantajları özetleyebiliriz.

Sürüm denetimi

GitHub, muhtemelen en iyi sürüm denetimi sistemi olan Git'i özel olarak kullanır. Ancak Git son derece karmaşıktır ve ekibinizin karşılaşılmayabileceği kodlarla çalışmaya yönelik bazı karmaşık senaryolar sunabilir. Dallar ve çekme istekleri Git kullanan geliştiriciler için günlük yaşamın temel bir parçasıdır. Bu nedenle GitHub'da başarılı olmak için bunların ne zaman ve nasıl etkili bir şekilde kullanılacağını anlamak gerekir. Ekibinizin ilk olarak GitHub akışını tanıması faydalı olur, böylece çalışmaya başlayabilirsiniz.

Kodunuzu bulutta tutma

Büyük miktarda proje kodu, şirket güvenlik duvarlarının arkasındaki eski sürüm denetimi sistemlerinde depolanmaya devam eder. GitHub'a geçiş yaptığınızda kodunuzu GitHub'ın bulut platformuna taşırsınız ve ekip üyeleri bu platforma her yerden kolayca erişebilir. Bu geçiş, sürüm denetiminde tuttuğunuz dosya ve veri türlerine yönelik takımınızın politikasını gözden geçirmek için iyi bir fırsat sunar. En iyi uygulama olarak GitHub'a taahhüt ettiğiniz her şeyin gizliliğinin ihlal olduğunu varsaymalısınız. API anahtarları, parolalar veya karşılaştırılabilir bilgiler içeren diğer dosyalar gibi hassas verileri eklememeye dikkat edin.

Not

GitHub hem genel hem de özel depoların yanı sıra deponun farklı parçaları için ayrıntılı erişim denetimleri de sunar. Bu sayede projelerinizin kimlere görünür olduğunu ve belirli bir kullanıcının hangi eylemleri gerçekleştirebileceğini denetleyebilirsiniz.

İşbirliği

GitHub; sorunlar, çekme istekleri ve kod incelemeleri gibi özellikler aracılığıyla takım işbirliği için mükemmel destek sunar. Ancak GitHub akışı, ekibinizin şu anda alışkın olduğu uygulamalardan farklı olabilir. Ekibin GitHub'a uyum sağlamayı, verilen süreci korumayı mı yoksa geçişi tamamlamadan önce ortada bir yerde buluşmayı mı planladığını düşünmek iyi bir fikirdir.

Projeniz dışarıdan katkıda bulunanlara izin veren açık kaynak bir projeyse, avantajları en üst düzeye çıkarmak için GitHub'dan daha iyi bir seçenek yoktur.

GitHub’a geçiş

Planlama konusunda dikkat edilmesi gerekenler

GitHub'a geçişinizi yürütmeden önce dikkate alınması gereken en önemli nokta, kaynağınızın geçerli durumunun ötesinde bir şey tutmanız gerekip gerekmediğidir. Yalnızca geçerli kaynağınızla yeni bir proje başlatmaktan memnunsanız, en iyi seçeneğiniz bunu yeni bir proje gibi ele almak ve kaynağı deponuza yüklemektir.

Ancak, sürüm denetimi geçmişini korumak istiyorsanız GitHub Geçişi aracını kullanarak içeri aktarmanız gerekir. Farklı sürüm denetimi platformları için içeri aktarma desteği hakkında daha fazla bilgi için bkz . Üçüncü taraf sürüm denetim sistemlerinden veri içeri aktarma.

Git verilerinin ötesinde sorunları, çekme isteklerini veya diğer verileri de saklamak isteyebilirsiniz. Bu öğelere yönelik destek platforma göre değişir ve genel olarak topluluk projelerinden kullanılabilir. Bu modül Git dışı verilerin geçirilmesini kapsamaz.

Şu anda projenizde depolanan ikili dosyaları işleme

En iyi uygulama olarak GitHub depoları, projeleri derlemek için gerekli olan dosyalarla sınırlı olmalıdır. Derleme yapıtları gibi büyük ikili dosyaları işlemekten kaçının. Elektronik tablolar ve sunumlar gibi ikili dosyalar, nasıl sunulacağını ve nasıl düzgün şekilde sürümünün oluşturulacağını anlayan portallarda izlenmeye daha uygundur. Büyük ikili dosyaları sürüme almanız gerekiyorsa Git LFS (Büyük Dosya Depolama) Git uzantısını kullanmayı göz önünde bulundurun.

.gitignore gibi önemli Git dosyaları oluşturma

Git, sürüm denetimi dosya ilkelerini zorunlu kılmaya yardımcı olmak için dosyaları destekler .gitignore . Bu dosyalar, dosyaları ve klasörleri kaynak denetimi izlemesinin dışında tutmak için kullanılan arama desenlerini tanımlar. Aşağıdaki basit örnek, Depo Gözü veya bölme adlı klasörleri ve bunların içeriğini kaynak denetimi izlemesinin dışında tutar:

[Bb]in/

Dosyaları yoksayma hakkında daha fazla bilgi edinebilirsiniz. Gitignore deposundaki çeşitli platformlar için sunulan başlangıç .gitignore dosyalarının koleksiyonuna da göz atabilirsiniz.

Depo tüketicilerine ve katkıda bulunanlarına farklı ilkeleri açıklamak için GitHub projelerinde yaygın olarak kullanılan birkaç dosya daha vardır. Projeniz özel ve sınırlı bir hedef kitleyle sınırlı olsa da, yine de bu ilkeleri açıkça dile getirmek faydalı olabilir. Bu dosyalardan hiçbiri gerekli olmasa da, yaygın dosyalardan birkaçını burada listeledik.

Dosya Purpose
README.md Dizinin giriş sayfası. Dizin GitHub’da görüntülenirken bu sayfa işlenir.
LICENSE.md Kodun altında sağlandığı lisans.
CONTRIBUTING.md Çekme isteği beklentileri gibi kullanıcıların projeye nasıl katkıda bulunmaları gerektiğini açıklar.
SECURITY.md Projenin güvenlik ilkesini açıklar. Güvenlikle ilgili hassas kod veya geri bildirim göndermek isteyen kullanıcılara, ele alınmadan önce genel olarak açıklanmaması gereken yönergeler sağlar.

Sağlıklı katkılar için projenizi ayarlama hakkında bilgi edinin.

Projenizi GitHub’a aktarma

Deponuzu geçiş için hazırladıktan sonra GitHub deponuzun Kod sekmesine gidin. Kaynak depoyu belirtmek için İçeri aktarma kodu seçeneğini kullanın.

GitHub deposuna kod aktarma işleminin ekran görüntüsü.

Gerisini GitHub Migrator aracı üstlenir.

GitHub Geçişi aracının ekran görüntüsü.