‫Bu videoda get, GitHub ve kaynak kontrolü hakkında konuşacağız.
‫Şimdi, GitHub'ı web sitesini çevrimiçi hale getirmek için kullandığımız önceki bölümümüzden hatırlayabilirsiniz,
‫ancak size bundan çok daha fazlası olduğunu göstereceğim.
‫Daha da önemlisi, içeri girin.
‫GitHub çoğu profesyonel şirket tarafından kullanılıyor ve artık tüm geliştiriciler tarafından bilinmesi beklenen
‫bir beceri.
‫Dolayısıyla bu önemli bir bölümdür.
‫Çoğu geliştiricinin işteki ilk gününde yapması gereken ilk şeylerden biri, Git ve GitHub'ı
‫kullanan çekme isteği adı verilen bir şey almaktır.
‫Bu bölümde bunu ele alacağız.
‫Merak etmeyin, tüm bunları öğreneceksiniz ve mantıklı gelecek.
‫İlk olarak kaynak kontrolü ile başlayalım.
‫Şimdiye kadar sadece küçük dosyalar üzerinde çalıştık.
‫Ekip üyeleri yok, sadece kendimiz varız.
‫Sadece birkaç dosya.
‫Ancak gerçek hayatta, büyük olasılıkla bir ekipteki tek geliştirici siz değilsiniz.
‫Büyük olasılıkla projeler çok büyüktür.
‫Bir sürü dosya var.
‫Kaynak kontrolü, birden fazla kişinin aynı dosya üzerinde farklı konumlardan çalışabilmesini sağlamamıza
‫olanak tanır.
‫Bunu, insanların tek bir belge üzerinde işbirliği yapmasına olanak tanıyan Google Docs olarak düşünün.
‫Ama bu kadar konuşma yeter.
‫Gerçekten kontrol edelim.
‫Burada iki klasör oluşturdum.
‫Biri kendim için Andre yeni bir işe başladı ama X şirketi ve bir süredir şirkette çalışan
‫Marci var ve burada proje dosyaları var.
‫Aslında arka plan oluşturucu videomuzdaki dosyaları kullanıyorum.
‫Şimdi, Git veya GitHub olmadan yapabileceğim tek şey bu dosyaları kopyalayıp yapıştırmak.
‫Marci'de ne varsa bende de var ve bu dosyalar üzerinde çalışmaya başlayabiliriz.
‫Terminalim ve sublime text'im ile geliştirici ortamım burada olabilir ve uygulama üzerinde yapılması gereken değişiklikler
‫üzerinde çalışabilirim.
‫Ve Marci.
‫Burada da üzerinde çalışabileceği kendi versiyonu var.
‫Ve ikimiz de aynı proje üzerinde çalışıyoruz.
‫Ancak diyelim ki Marcy ve ben bu proje üzerinde çalışıyoruz ve Marcy projenin adını degrade arka plan yerine
‫süper arka plan olarak değiştirmeye karar verdi.
‫Ve aynı zamanda projemde, bu havalı arka planı aramaya karar verdim.
‫Şimdi ben ve Marcy arasında bir toplantı ayarlayıp kodu nasıl değiştireceğimize karar vermeniz gerekecek.
‫Ve bu küçük bir örnek, ancak farklı programcılar birlikte çalıştıkça, bir kişinin bir şeyi değiştirmesi ve başka
‫bir kişinin başka bir şeyi değiştirmesi gibi bir sorunun her zaman olacağını hayal edebilirsiniz.
‫İşte bu noktada kaynak kontrolü devreye girdi ve sosyal kontrol bunu kontrol etmenin bir yolu, kendi bilgisayarlarımız
‫yerine tek bir yerimiz var.
‫Bu durumda, her birimizin Kaynak Kontrolü ile projenin bir kopyasına sahip olması yerine, sadece
‫burada sahip olduğum klasör tarafından temsil edilir.
‫Projenin bir kopyasına sahibiz, ancak bir yerlerde merkezi bir konum var, belki şirkete
‫ait veya internette bir yerde, her birimizin aynı sürüme sahip olduğumuzdan emin olmak için konuştuğumuz
‫nihai sürüme sahip.
‫GitHub'ı edinmek, kaynak kontrolünü kullanabilmek için bunu yapmanın bir yoludur.
‫Aslına bakarsanız, bunu yapmanın fiili yolu da budur.
‫Daha önce de söylediğim gibi, bu büyük olasılıkla iş yerinizde her gün kullanacağınız bir araç.
‫GitHub web sitesine girdiğimde, hem Andre'nin hem de Marci'nin konuşabileceği merkezi
‫bir yer olduğunu görüyorum.
‫Yani aynı dosyalar, aynı proje üzerinde çalışıyor olsak bile.
‫GitHub gibi merkezi bir yere sorabilirim.
‫Marcy herhangi bir değişiklik yaptı mı?
‫Ve Marcy sorabilir.
‫Hey, Andre herhangi bir değişiklik yaptı mı?
‫Ve arada bir, havalı arka plan ve süper arka planın olduğu, birleştirme çakışması denilen
‫bir şeyin olduğu böyle bir şey elde edersiniz.
‫GitHub'ın yapmamıza izin verdiği şey şu: Hey, bir birleştirme çakışması olduğunu fark ettim.
‫Görüyorum ki ikiniz de geçmişinizi değiştirmişsiniz.
‫Kimin haklı olduğunu bilmiyorum ama bilgiler burada.
‫Andrei Marcy, kendi aranızda konuşup bir çözüm bulabilir misiniz?
‫İş akışı aşağı yukarı böyle.
‫Şimdi bunun neye benzediğini görelim.
‫Yapmak istediğimiz ilk şey bir GitHub hesabı oluşturmak.
‫Önceki alıştırmalarda yapmadıysanız, kesinlikle bir GitHub hesabı açmalısınız.
‫Bedava.
‫Ve daha önce de söylediğim gibi, eğer bir geliştiriciyseniz, buna sahip olmanız gerekir.
‫Herkesin projelerini koyduğu yer, çalıştığınız yer.
‫Bu web sitesinde çok zaman geçireceksiniz.
‫GitHub projemiz olduğunda, masaüstü için GitHub'ı edinmenizi de söylediğimi hatırlayabilirsiniz.
‫Video sırasında işleri daha basit hale getirmek için bunu kullansak da, aslında önerilen
‫yol bu değildir.
‫GitHub'ı görsel olarak görmenizi ve etkileşimde bulunmanızı sağlar, ancak işverenler tarafından biraz küçümsenir
‫ve çoğu insan bunu yapmak için terminal veya komut istemini kullanır.
‫Bu yüzden size bu şekilde öğretmeyeceğim çünkü bunun kötü bir uygulama olduğunu ve terminale alışmanın önemli
‫olduğunu düşünüyorum.
‫Bunu kapatacağım ve başlayacağız.
‫Yapacağımız ilk şey Proje Başlat'a tıklamak olacak.
‫Ve burada ona istediğimiz ismi vereceğiz.
‫Buna arka plan jeneratörü diyeceğiz.
‫Ayrıca bunu herkese açık olarak bırakmak istiyorsunuz ve bunu beni oku ile başlat'a tıklamak istiyoruz ve Depo
‫Oluştur'a tıklayacağız.
‫Ve bunun iyi yaptığı şey, GitHub'da yeni bir proje oluşturduk.
‫Ve işte beni oku, bu sadece projenizi açıklayan bir dosyadır.
‫Burada olduğunu görebilirsiniz.
‫Beni oku kısmına istediğimizi yazabiliriz ve o da projemizi tanımlayacaktır.
‫Ama geri dönelim.
‫Eğer Marcy diyelim ki uzun süredir bu şirkette çalışıyorsa, ben aslında buradaki dosyalarımı kaldıracağım.
‫Marcy uzun süredir bu şirkette çalışıyor ve işveren sonunda karar verdi: Hey, GitHub kullanmamız
‫gerekiyor, bu yeni adamı işe alacağız.
‫Andre.
‫Her ikinizin de proje üzerinde sorunsuz bir şekilde birlikte çalışabileceğinizden emin olmak istiyoruz.
‫Projeyi GitHub'a koyabilir misiniz?
‫Marcy'nin yapacağı şey GitHub'a gitmek, arka plan oluşturucu oluşturmak ve ardından klonlamak
‫veya indirmek için buraya tıklamak ve HTTPS Kullan yazdığından emin olmak.
‫Ve buradan bu bağlantıyı klavyenize kopyalayan bu düğmeye, ardından Marcy'ye tıklamanız yeterlidir.
‫Terminaline gidiyor.
‫Ve şu anda, belgelerin içindeyiz.
‫Projenin Marcy klasöründe olmasını istiyoruz, bu yüzden LRS'ye tıklarsam Marcy'ye gireceğim, şimdi dosyalarımın
‫olduğunu görüyorum.
‫Öğreneceğimiz ilk komutun adı Get.
‫Klon.
‫Ve sonra web sitesinden kopyaladığımız şeyi kopyalayıp yapıştırın.
‫Biz sadece GitHub nokta com'dan bu projeyi klonlayın diyoruz.
‫Enter'a bastım ve işte oldu.
‫Her şey indirildi.
‫Şimdi klasöre geri döndüğümde, arka plan oluşturucum olduğunu görüyorum.
‫Buna çift tıklarsam, burada aslında gizli olan bir nokta git klasörüm olduğunu göreceksiniz.
‫Bilgisayarınızda bu özelliği etkinleştirmediyseniz dizüstü bilgisayarınızda bile göremeyebilirsiniz.
‫Ancak bu köpek artık GitHub ile iletişim kurmamı sağlıyor.
‫Şimdi yapabileceğimiz şey, Marcy'nin bu dosyaları kopyalayıp yapıştırması ve arka plan oluşturucuya koyması.
‫Şimdi sana bir sonraki komutu göstereyim, Marcy.
‫Şu anda, onun klasöründe olduğunu görüyorsak, ancak şimdi arka plan oluşturucuya girmemiz gerekiyor
‫çünkü burada herhangi bir git komutu yaparsak, bu bir git projesi olmadığı için çalışmayacaktır.
‫Aslında GitHub'da oluşturulan projenin içine girmemiz gerekiyor.
‫Bu yüzden o dizine tohum ekeceğim.
‫Burada terminalimi hangi GitHub konumunda olduğumu gösterecek şekilde ayarladığıma dikkat edin ve master'ın ne anlama geldiğini
‫daha sonra açıklayacağım.
‫Artık burada olduğumuza göre, tüm dosyalarımıza bakabiliriz.
‫Evet, görüyorum.
‫Şimdi GitHub'da oluşturduğum beni oku dosyam ve kopyalayıp yapıştırdığım dosyalarım var.
‫Bunu düşünmemiz gerekiyor, böylece beni oku dosyaları yerine arka plan oluşturucuma girersem, Marci dosyalarını
‫GitHub'a koyabilir.
‫Bunu yapmanın yolu ikinci komutumuz olan get status komutudur.
‫Bize yol dosyalarımız olduğunu söylüyor.
‫Yani, yol üzerinde bulunan HTML, script, JS ve style'ı indeksledik ve ne işleneceğini dahil etmek için get add
‫dosyasını kullanın diyor.
‫Artık klasörümüzde ne olduğunu gördüğümüze göre, get, add ve dosya
‫adını söyleyebiliriz, böylece index nokta HTML, get add script JS ve get add style nokta CSS yapabilirim.
‫Şunu temizleyelim ki görebilelim.
‫Ve şimdi sadece durumumuzun ne olduğunu görmek için tekrar durum al yapabilirim.
‫Ve şimdi şubenizde işlenecek güncel değişiklikler var.
‫Şimdi ADD ile bu değişiklikleri eklemek istediğimizi söylediğimizi görüyorsunuz.
‫Eklediğimiz ve işlenmesini istediğimiz yeni dosyalarımız var.
‫İkinci adım get commit denilen bir şey yapmaktır ve get commit der ki, Hey, bunu işliyorum.
‫Bunlar GitHub'da yapmak istediğim değişiklikler ve GitHub'da mesajı gösterecek şekilde bir mesaj iletmenize
‫olanak tanıyor.
‫Andre geri geldiğinde, "Marcy bu dosyaları ekledi ve mesaj da bu" diyebilir.
‫Bunu da şöyle yapıyoruz.
‫Ve burada, çift kodlar içinde, başlangıç projesini ekleyerek parantezi kapatın, enter tuşuna basın diyebilirim.
‫Şimdi bunu temizleyeceğim, eklediğimiz son bir adım var.
‫Değişikliklerimizi eklemek için add'i alıyoruz, sonra commit'i alıyoruz ve "Evet, bu değişiklikleri kilitliyoruz" diyoruz.
‫Ve son olarak GitHub dotcom'a değişikliklerin bunlar olduğunu bildirmemiz gerekiyor.
‫Yani itiliyoruz.
‫Ve işte oldu.
‫Şimdi bu depoya aktarılmıştır.
‫Yani eğer geri dönersem.
‫Ve yeniledim.
‫Şuna bak.
‫Bu, internette ilk web sitemizi kurduğumuzda yaptığımızla aynı şey.
‫Ancak GitHub'ın masaüstü sürümünü kullanmak yerine komut satırını kullanıyoruz ve şimdi projemiz
‫var, ki bu çok iyi.
‫Şimdi örneğimize geri dönelim.
‫Marsha bu proje üzerinde çalışıyordu.
‫İyi bir havuz var ve şirkete yeni katıldım ve şimdi bunun üzerinde çalışmaya başlamam gerekiyor.
‫Şimdi ne yapacağım?
‫GitHub'a erişmem ve Background Generator'ın kopyasını almam gerekiyor.
‫Bunu yapmamın yolu.
‫Dosyama giriyorum.
‫Ben de aynı şeyi yapıyorum.
‫Klonlama yapıyorum ve daha önce olduğu gibi depoyu kopyalayıp yapıştırıyorum.
‫Clone'u alın ve depoyu klonlayın.
‫Ve işte oldu.
‫Klasörüme geri dönersem, şuna bir bakın.
‫Arka plan jeneratörüm var.
‫Yani şu anda ikimiz de arka plan jeneratörü üzerinde çalışıyoruz, ancak birbirimizin dosyalarını kullanmıyoruz.
‫GitHub'da hangi sürüm varsa onunla çalışıyoruz.
‫Tamam.
‫Şimdi daha gerçekçi, çalışmaya geri dönüyoruz.
‫Ve işimin ilk gününde, degrade arka plan başlığını, aslında H1 etiketini
‫cool generator olarak değiştireceğimi söyledim.
‫Eğer bunu kaydedersem ve statü alırsam.
‫Şu anda bir depoda değilim.
‫Hatırlarsanız, arka plan jeneratörüne girmem gerekiyor.
‫Şunu biraz açayım da görelim.
‫İşte yine başladın.
‫Bu komutlar, docket klasörü olan bir klasörde değilseniz çalışmayacaktır.
‫Bu CD'yi arka plan jeneratörüne yükleyeyim.
‫Bunu açıklığa kavuşturacağım ve statü alın ve şuna bakın diyeceğim.
‫Bana indexlenmiş HTML dosyasını değiştirdiğimi söylüyor ve hatırlarsak ekle diyeceğim.
‫Dizinlenmiş HTML yapabileceğim yalnızca bir dosyam var.
‫Ama eğer istersem, birden fazla dosyam varsa ve hepsini bir kerede işlemek istersem,
‫sadece noktayı koyabilirim.
‫Bunu yapacağım ve ardından işleyip başlığı değiştiren bir mesaj ekleyeceğim.
‫Enter'a basıyorum.
‫Bunu açıklığa kavuşturacağım.
‫Ve tekrar söylüyorum, itiliyorum.
‫Ve görünüşe göre her şey yolunda gitti.
‫O zaman bunu açıp kontrol edelim.
‫Şimdi yeniliyorum.
‫Ve herhangi bir değişiklik görmedik, ancak şimdi üç taahhütümüz olduğunu görüyoruz.
‫Marci'nin yaptığı arka plan ekleme projesi olan ilk işlemimiz var ve size eklenen tüm dosyaları
‫gösteriyor.
‫Ve geri dönersem, değişen başlık taahhüdüm var ve şimdi bunu görüyorum.
‫Evet.
‫Andre sadece kırmızı renkte olan arka plan jeneratörünü soğuk jeneratör olarak değiştirir.
‫Gördüğünüz gibi, tüm değişikliklerin bir geçmişi var ve herhangi bir hata varsa her zaman geri dönebiliriz.
‫Ama şu anda bir sorun var.
‫Eğer koda geri dönersem ve Marcy'nin bilgisayarına gidersem, bunu görüyorum.
‫Burada hâlâ arka plan jeneratörü var.
‫Nedenmiş o?
‫Çünkü bilgisayarı GitHub'ın güncellendiğini bilmiyor.
‫Size göstereceğim bir sonraki komut bu videoda göstereceğim son komut get
‫pull.
‫Unutmayın, ABC'yi almak için değişiklikleri zorlayın. com'a girin ve en son ne varsa onu çekin.
‫Bu yüzden çekiliyorum.
‫Ve işte oldu.
‫Burada, indekslenen HTML dosyasının değiştirildiğini gösterdiğini görüyorsunuz.
‫Şimdi anladın mı?
‫Başlık Cool Generator olarak değiştirilmiştir.
‫Marci'nin ilk değişikliğimi gördüğünü ve havalı jeneratör ekleme şeklimi gerçekten çok beğendiğini söyleyelim,
‫ancak sanırım tekrar büyük harfle yazılmasını istiyor.
‫Onu kurtaracak.
‫Statü al diyecek.
‫Pekala, indekslenmiş HTML dosyam var, ekle'yi al, sonra işle'yi al ve mesaj kopyasını yalanlar başlığına
‫ekleyeceğim.
‫Ve sonra it.
‫İşte yine başladın.
‫Geri dönüyorum.
‫Yeniledim ve şimdi dört taahhüt var ve büyük harfle yazılmış başlığı görüyoruz.
‫Evet.
‫Yeni değişiklikler.
‫İşin ilk günü tamamlandı.
‫Ertesi gün işe geliyorum ve arka plan jeneratörünün en son projesi neyse onunla başlamak istiyorum.
‫Ve diyelim ki Marcy bu başlığı Cool Capitalized olarak değiştirmek için bütün gece çalıştı.
‫En güncel sürüme sahip olduğumdan emin olmak istiyorum.
‫Bu yüzden sabah işe gittiğimde şöyle diyorum: "Marcy'nin yaptığı herhangi bir değişiklik varsa
‫bunu bildiğimden emin olmak istiyorum.
‫Şimdi çek diyeceğim ve çektikten sonra başlığın nasıl değişeceğine dikkat edeceğim.
‫Şimdi Sublime text'e tıklıyorum ve işte oldu.
‫Güzel jeneratör.
‫Tamam.
‫Bir sonraki videoda bunu genişleteceğiz ve hem Marcy hem de Andre aynı değişiklikleri yaparsa
‫ne olacağını göstereceğiz.
‫GitHub ne işe yarar?
‫Onda görüşürüz.
‫Güle güle.