Unreal Engine Türkiye | Topluluk

Orjinalini görmek için tıklayınız: Source Control Nedir ?
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Evet Başlıkta Olduğu Gibi Arkadaşlar Source Control Nedir Ne İşe Yarar ?
(03-11-2018, Saat: 14:16)S0meone Adlı Kullanıcıdan Alıntı: [ -> ]Evet Başlıkta Olduğu Gibi Arkadaşlar Source Control Nedir Ne İşe Yarar ?

Türkçe olarak anlamak açısından "kaynak dosyaların kontrolü" yazılımı diyebiliriz. Artık günümüzde yazılımlar, baya çok kişi tarafından katkıda bulunarak geliştiriliyor. Source Control, yazılım geliştiricileri için kaynak kodların, dosyaların, görüntülerin vs... ortak bir depo(repository) tutularak bu depo üzerinde katkıda bulunarak ortak bir yazılım haline getirilmek için kullanılan yazılım.

 Atıyorum üç kişi çalışıyor ekipte bir kişi programcı birisi 3d artist diğer de game designer. Programcı yeni bir geliştirme yapıyor, o depoya kaynak kodlarında değişiklikte bulunuyor. 3D Artist yaptığı modelleri aktarıyor. Daha sonra game designer dökümantasyonu güncelliyor vs.. Hepsi yazılıma bir şekilde bulunarak yazılımı ortak bir yerde tutarak hem iş yükünü azaltmış oluyorlar hem de çakışmaları kaybetmemek adına bir kontrol yazılımı yapılmış oluyor. Aynı şekilde katkıda bulunan bir çalışma geriye alınabilinir(revert).

Kaynak kontrolü yazılımların asıl amacı, kaynak kodlarını takip ederek bunun kodlar üzerindeki çeşitli geliştiriciler tarafından yapılan değişiklikleri ortak paydada toplayarak yazılımın geliştirme sürecini hızlandırmak.

Peki gelelim genel kullanılan terimlerin anlamlarına aşina olmak için aşağıda yazıyorum. Bu terimleri iyi kötü anladıktan sonra intrenetteki tutoriallardan devam edebilirsiniz. Aşağıdaki git kaynak kontrol yazılımında kullanılan terimler fakat başka kaynak kontrol yazılımında aynı işi yapan farklı terimler de olabilir.

Repository (Depo): Kaynak kodların, dosyaların, görüntülerin kısacası yazılıma ait olan her şeyin bulunduğu depo. Yani geliştirdiğiniz yazılım için kaynaklarınızın bulunduğu yer. 

Branch(Dal): Anlamını deponuzu çeşitli şekilde dallandırmak olarak düşünebilirsiniz. Kaynak kodlarınız var diyelim, asıl olarak son sürüm olarak bulunan kaynaklarınız master(baş dal, asıl dal)  üzerinde bulunur. Diyelim ki zengin patronunuz yeni bir özellik istedi.  Siz master branch üzerinde çalışmak yerine kendi yaratacağınız yeni_istek adındaki bir dalda masterdan bağımsız olarak depoya katkıda bulunabilirsiniz. Ve daha sonra bu yeni yaptığınız özelliği ana brancha ekleyebilirsiniz. Sadece yeni özellik için değil, farklı deneylerin yapıldığı bir dallandırma da oluşturabilirsiniz.

Merge(Birleştirmek): Farklı branchları birleştirmek için kullanılan terim. 

Commit (Katkıda Bulunmak): Yapılan değişiklikleri (silme, değiştirme, ekleme) kendi branchınız üzerinde dosyaları gönderdiğinizi yani katkıda bulunduğunuzu belirtmek amacıyla kullanılan terim.

Stage: Commit edilmeden önceki bulunan yeriniz/durumunuz.

Push(İttirmek): Yerel kaynak dosyalarınızı, uzaktaki bir depoya yollamanıza yarayan bir terim.

Pull(Çekmek): Uzaktaki bir depoyu, yerel dosyalarınıza çekmek için kullanılan terim.

Clone (Klonlamak): Uzaktaki bir .git repositorysini kendi yerel bilgisayarınıza kopyalar ve otomatik olarak . git dosyaları oluşturur. Yani kısacası uzaktaki dosyaları .git sistemi ile uyum halde çalışacak şekilde klonlar.

Diff(Fark): Version kontrolün sağladığı bu şey ile farklı branchler üzerindeki değişiklikleri görebilirsiiniz

Pull Request (Çekiş Talebi): Kendi deponuzdaki yapılan değişikliğin başka depolar ile entegre edilmesi için GitHub tarafından kullanılan bir terim.


Unreal Engine geliştiricilerinin kullandığı Source Control yazılımları:

Perforce: Unreal ile proje yapıyorsanız bunu öneriyorum. Çünkü dosyaları kilitleme/kilidi açma seçenekleri mevcut. Zaten Epic Games de bunu kullanıyor. 5 kişiye kullanımı ücretsiz.

Git: Linus Torvalds ve saz arkadaşları tarafından geliştirilmiş olan bir kaynak kontrol sistemi. Açık kaynak, hızlı, en çok kullanılan. 

GitHub: Git ile aynı şey değildir. Git bir sürüm kontrol yazılımıdır. GitHub ise dışarıdan git ile aynı şeyleri yapabileceğiniz harici bir git havuzudur.

Apache Subversion: Bunu hiç denemedim. Kullanan da pek tanımıyorum.
(03-11-2018, Saat: 15:11)Khubur Adlı Kullanıcıdan Alıntı: [ -> ]
(03-11-2018, Saat: 14:16)S0meone Adlı Kullanıcıdan Alıntı: [ -> ]Evet Başlıkta Olduğu Gibi Arkadaşlar Source Control Nedir Ne İşe Yarar ?

Türkçe olarak anlamak açısından "kaynak dosyaların kontrolü" yazılımı diyebiliriz. Artık günümüzde yazılımlar, baya çok kişi tarafından katkıda bulunarak geliştiriliyor. Source Control, yazılım geliştiricileri için kaynak kodların, dosyaların, görüntülerin vs... ortak bir depo(repository) tutularak bu depo üzerinde katkıda bulunarak ortak bir yazılım haline getirilmek için kullanılan yazılım.

 Atıyorum üç kişi çalışıyor ekipte bir kişi programcı birisi 3d artist diğer de game designer. Programcı yeni bir geliştirme yapıyor, o depoya kaynak kodlarında değişiklikte bulunuyor. 3D Artist yaptığı modelleri aktarıyor. Daha sonra game designer dökümantasyonu güncelliyor vs.. Hepsi yazılıma bir şekilde bulunarak yazılımı ortak bir yerde tutarak hem iş yükünü azaltmış oluyorlar hem de çakışmaları kaybetmemek adına bir kontrol yazılımı yapılmış oluyor. Aynı şekilde katkıda bulunan bir çalışma geriye alınabilinir(revert).

Kaynak kontrolü yazılımların asıl amacı, kaynak kodlarını takip ederek bunun kodlar üzerindeki çeşitli geliştiriciler tarafından yapılan değişiklikleri ortak paydada toplayarak yazılımın geliştirme sürecini hızlandırmak.

Peki gelelim genel kullanılan terimlerin anlamlarına aşina olmak için aşağıda yazıyorum. Bu terimleri iyi kötü anladıktan sonra intrenetteki tutoriallardan devam edebilirsiniz. Aşağıdaki git kaynak kontrol yazılımında kullanılan terimler fakat başka kaynak kontrol yazılımında aynı işi yapan farklı terimler de olabilir.

Repository (Depo): Kaynak kodların, dosyaların, görüntülerin kısacası yazılıma ait olan her şeyin bulunduğu depo. Yani geliştirdiğiniz yazılım için kaynaklarınızın bulunduğu yer. 

Branch(Dal): Anlamını deponuzu çeşitli şekilde dallandırmak olarak düşünebilirsiniz. Kaynak kodlarınız var diyelim, asıl olarak son sürüm olarak bulunan kaynaklarınız master(baş dal, asıl dal)  üzerinde bulunur. Diyelim ki zengin patronunuz yeni bir özellik istedi.  Siz master branch üzerinde çalışmak yerine kendi yaratacağınız yeni_istek adındaki bir dalda masterdan bağımsız olarak depoya katkıda bulunabilirsiniz. Ve daha sonra bu yeni yaptığınız özelliği ana brancha ekleyebilirsiniz. Sadece yeni özellik için değil, farklı deneylerin yapıldığı bir dallandırma da oluşturabilirsiniz.

Merge(Birleştirmek): Farklı branchları birleştirmek için kullanılan terim. 

Commit (Katkıda Bulunmak): Yapılan değişiklikleri (silme, değiştirme, ekleme) kendi branchınız üzerinde dosyaları gönderdiğinizi yani katkıda bulunduğunuzu belirtmek amacıyla kullanılan terim.

Stage: Commit edilmeden önceki bulunan yeriniz/durumunuz.

Push(İttirmek): Yerel kaynak dosyalarınızı, uzaktaki bir depoya yollamanıza yarayan bir terim.

Pull(Çekmek): Uzaktaki bir depoyu, yerel dosyalarınıza çekmek için kullanılan terim.

Clone (Klonlamak): Uzaktaki bir .git repositorysini kendi yerel bilgisayarınıza kopyalar ve otomatik olarak . git dosyaları oluşturur. Yani kısacası uzaktaki dosyaları .git sistemi ile uyum halde çalışacak şekilde klonlar.

Diff(Fark): Version kontrolün sağladığı bu şey ile farklı branchler üzerindeki değişiklikleri görebilirsiiniz

Pull Request (Çekiş Talebi): Kendi deponuzdaki yapılan değişikliğin başka depolar ile entegre edilmesi için GitHub tarafından kullanılan bir terim.


Unreal Engine geliştiricilerinin kullandığı Source Control yazılımları:

Perforce: Unreal ile proje yapıyorsanız bunu öneriyorum. Çünkü dosyaları kilitleme/kilidi açma seçenekleri mevcut. Zaten Epic Games de bunu kullanıyor. 5 kişiye kullanımı ücretsiz.

Git: Linus Torvalds ve saz arkadaşları tarafından geliştirilmiş olan bir kaynak kontrol sistemi. Açık kaynak, hızlı, en çok kullanılan. 

GitHub: Git ile aynı şey değildir. Git bir sürüm kontrol yazılımıdır. GitHub ise dışarıdan git ile aynı şeyleri yapabileceğiniz harici bir git havuzudur.

Apache Subversion: Bunu hiç denemedim. Kullanan da pek tanımıyorum.
Cevabınız İçin Teşekkür Ederim Önerdiğiniz Üzere Perforce Hakkınd Araştırma Yaptım Ve Trailer'ları Takip Etmeye Çalıştım Lakin Var Olanlar Ya 3 Yıl Önce Ya da Eksik Bir Şekilde Yapılmış... Perforce'u Tam Anlamıyla Yapabilmek İçin Bir Kaynak Varmıdır Acaba ?
(04-11-2018, Saat: 00:52)S0meone Adlı Kullanıcıdan Alıntı: [ -> ]
(03-11-2018, Saat: 15:11)Khubur Adlı Kullanıcıdan Alıntı: [ -> ]Türkçe olarak anlamak açısından "kaynak dosyaların kontrolü" yazılımı diyebiliriz. Artık günümüzde yazılımlar, baya çok kişi tarafından katkıda bulunarak geliştiriliyor. Source Control, yazılım geliştiricileri için kaynak kodların, dosyaların, görüntülerin vs... ortak bir depo(repository) tutularak bu depo üzerinde katkıda bulunarak ortak bir yazılım haline getirilmek için kullanılan yazılım.

 Atıyorum üç kişi çalışıyor ekipte bir kişi programcı birisi 3d artist diğer de game designer. Programcı yeni bir geliştirme yapıyor, o depoya kaynak kodlarında değişiklikte bulunuyor. 3D Artist yaptığı modelleri aktarıyor. Daha sonra game designer dökümantasyonu güncelliyor vs.. Hepsi yazılıma bir şekilde bulunarak yazılımı ortak bir yerde tutarak hem iş yükünü azaltmış oluyorlar hem de çakışmaları kaybetmemek adına bir kontrol yazılımı yapılmış oluyor. Aynı şekilde katkıda bulunan bir çalışma geriye alınabilinir(revert).

Kaynak kontrolü yazılımların asıl amacı, kaynak kodlarını takip ederek bunun kodlar üzerindeki çeşitli geliştiriciler tarafından yapılan değişiklikleri ortak paydada toplayarak yazılımın geliştirme sürecini hızlandırmak.

Peki gelelim genel kullanılan terimlerin anlamlarına aşina olmak için aşağıda yazıyorum. Bu terimleri iyi kötü anladıktan sonra intrenetteki tutoriallardan devam edebilirsiniz. Aşağıdaki git kaynak kontrol yazılımında kullanılan terimler fakat başka kaynak kontrol yazılımında aynı işi yapan farklı terimler de olabilir.

Repository (Depo): Kaynak kodların, dosyaların, görüntülerin kısacası yazılıma ait olan her şeyin bulunduğu depo. Yani geliştirdiğiniz yazılım için kaynaklarınızın bulunduğu yer. 

Branch(Dal): Anlamını deponuzu çeşitli şekilde dallandırmak olarak düşünebilirsiniz. Kaynak kodlarınız var diyelim, asıl olarak son sürüm olarak bulunan kaynaklarınız master(baş dal, asıl dal)  üzerinde bulunur. Diyelim ki zengin patronunuz yeni bir özellik istedi.  Siz master branch üzerinde çalışmak yerine kendi yaratacağınız yeni_istek adındaki bir dalda masterdan bağımsız olarak depoya katkıda bulunabilirsiniz. Ve daha sonra bu yeni yaptığınız özelliği ana brancha ekleyebilirsiniz. Sadece yeni özellik için değil, farklı deneylerin yapıldığı bir dallandırma da oluşturabilirsiniz.

Merge(Birleştirmek): Farklı branchları birleştirmek için kullanılan terim. 

Commit (Katkıda Bulunmak): Yapılan değişiklikleri (silme, değiştirme, ekleme) kendi branchınız üzerinde dosyaları gönderdiğinizi yani katkıda bulunduğunuzu belirtmek amacıyla kullanılan terim.

Stage: Commit edilmeden önceki bulunan yeriniz/durumunuz.

Push(İttirmek): Yerel kaynak dosyalarınızı, uzaktaki bir depoya yollamanıza yarayan bir terim.

Pull(Çekmek): Uzaktaki bir depoyu, yerel dosyalarınıza çekmek için kullanılan terim.

Clone (Klonlamak): Uzaktaki bir .git repositorysini kendi yerel bilgisayarınıza kopyalar ve otomatik olarak . git dosyaları oluşturur. Yani kısacası uzaktaki dosyaları .git sistemi ile uyum halde çalışacak şekilde klonlar.

Diff(Fark): Version kontrolün sağladığı bu şey ile farklı branchler üzerindeki değişiklikleri görebilirsiiniz

Pull Request (Çekiş Talebi): Kendi deponuzdaki yapılan değişikliğin başka depolar ile entegre edilmesi için GitHub tarafından kullanılan bir terim.


Unreal Engine geliştiricilerinin kullandığı Source Control yazılımları:

Perforce: Unreal ile proje yapıyorsanız bunu öneriyorum. Çünkü dosyaları kilitleme/kilidi açma seçenekleri mevcut. Zaten Epic Games de bunu kullanıyor. 5 kişiye kullanımı ücretsiz.

Git: Linus Torvalds ve saz arkadaşları tarafından geliştirilmiş olan bir kaynak kontrol sistemi. Açık kaynak, hızlı, en çok kullanılan. 

GitHub: Git ile aynı şey değildir. Git bir sürüm kontrol yazılımıdır. GitHub ise dışarıdan git ile aynı şeyleri yapabileceğiniz harici bir git havuzudur.

Apache Subversion: Bunu hiç denemedim. Kullanan da pek tanımıyorum.
Cevabınız İçin Teşekkür Ederim Önerdiğiniz Üzere Perforce Hakkınd Araştırma Yaptım Ve Trailer'ları Takip Etmeye Çalıştım Lakin Var Olanlar Ya 3 Yıl Önce Ya da Eksik Bir Şekilde Yapılmış... Perforce'u Tam Anlamıyla Yapabilmek İçin Bir Kaynak Varmıdır Acaba ?

Bu seriyi takip edebilirsiniz.