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.
Ve 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.
Şimdi 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 yeniliyorum.
Ş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.
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şine sahibiz 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 hala 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ü nasıl eklediğimi 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.