Git ve Github: Yeni Başlayanlar için Yeni Başlayan Kılavuz
Televizyon ve filmin bize söylediklerinin yanı sıra, bir yazılım geliştiricisi olarak hayat karanlık bir odada oturmayı içermiyor, klavyemiz sadece monitör ışığı, diğer iğrenç insanlarla etkileşime girme zihni ile aydınlatılıyor. Hayır, bir yazılım geliştiricisi olarak yaşam sosyal ve işbirlikçidir – bazen hayal kırıklığı noktasına kadar. Bu yüzden Git ve Github var. GIT, ilk öğrenme eğrisini geçtikten sonra takım arkadaşlarıyla işbirliğini çok basit hale getiren bir kontrol yazılımıdır. Bu korkutabilir, ama bu yüzden buradayım!
Git nedir? Sadece Güney Halkının suçluları verandamızdan sürme şeklimiz değil, size söyleyeceğim. Yukarıda söylediğim gibi GIT bir sürüm kontrol yazılımıdır. Linux’u bulan Linus Torvalds tarafından yapıldı. Git’i kullanmak için Linux’u çalıştırmanız gerekmez – Windows ve Mac’te de kullanabilirsiniz. Git, yazılım geliştirme sırasında sizin ve ekibinizin yaptığınız her revizyonu kolayca izlemenizi sağlar. Hepiniz bağımsız olarak yapılan ve daha sonra yeniden oluşturulan bir kod deposunu paylaşıyorsunuz. Proje her makinede yerel olarak ve uzaktan (belki de GitHub’da) saklandığı için hiçbir zamanda bağlanmanız gerekmez.
Git özeldir (ve oldukça zorunludur) çünkü önceki kodunuza geri dönebilir, hiçbir şeyi veya herhangi birini etkilemeden belirli özellikleri dallayabilir ve geliştirebilir ve dağıtılmış doğası nedeniyle veri bozulması güvenliğini koruyabilirsiniz. Ayrıca, nerede olursanız olun, projenizin çeşitli yönleri üzerinde çalışabilmeniz için kolay bir uygulama şifreleme ve Cross-OS uyumluluğu ve doğrusal olmayan eşzamansız iş akışları sağlar. Temel olarak, GIT kullanmıyorsanız, bir eline bağlı bir kod yaparsınız. Git kullanmaya başladığınızda ihtiyaç duyulan kelime dağarcığı korkutucu olabilir. Daha önce hiç kontrol sürümünü kullanmadıysanız, komutlar ve kavramlar çok yabancı görünebilir. Çok hızlı bir şekilde alacaksınız. Depo: Genellikle repo olarak adlandırılır. Depo, izlenmek için git kullandığınız dosya ve klasörlerin bir koleksiyonudur. Depo, ekibinizdeki projeye yapılan tüm değişiklik geçmişinden oluşur. Bu, sizin ve ekibinizin kodunuzu girdiğiniz büyük bir kutudur. Github: Git Repo için en popüler uzaktan depolama çözümü. Bu aynı zamanda proje için erişim izinleri ayarlamanıza, hataları izlemenize ve göndermenize, özellik istekleri almanıza, depo bildirimlerine abone olun ve komut satırlarını kullanmak yerine grafik arabirimlerini kullanmanıza olanak tanır. Repos varsayılan olarak kamuya açıktır, ancak ücretli hesapların kişisel bir hesabı olabilir.
Yapmak: İşinizi kurtarmak için bunu düşünün. Depo yapmaya kararlı olduğunuzda, o zamanki gibi dosyaları toplayıp bir zaman kapsülüne koyarsınız. Taahhüt, yerel makinenizde ancak uzun mesafeli bir depoya itilene kadar olacaktır. Teşvik: Tereyağı yapmak için ekmektir. Dosyanızı bir zaman kapsülüne atmayı ve kapsülleri uzaya fırlatan şeydir. Temel olarak komitenizi bulutla senkronize etmeyi teşvik eder (bir kez daha GitHub). Ayrıca, kararlı bir taahhüdü aynı anda teşvik edebilirsiniz. Çevrimdışı çalışabilir, çok iş yapabilir ve daha sonra o tatlı ve tatlı wifi ile medeniyete döndüğünüzde her şeyi GitHub’a itebilirsiniz. Şube: Repo gitinizi bir ağaç olarak düşünebilirsiniz. Ağaç gövdeleri, yayınlanan yazılım, ana şube olarak adlandırılır. Havalandıran şey bu. Ağacın dallarına şubeler denir. Bu, ana kod tabanından dallanmış bir kodun ayrı bir örneğidir. Bir özellik veya deneysel yama için dalabilirsiniz. Dallanma ile yazılımın bütünlüğünü koruyabilir ve gerçekten çılgın bir şey yaparsanız geri dönmenin bir yoluna sahip olabilirsiniz. Bu aynı zamanda işinizi ekibiniz (veya size) tarafından tökezlemeden yapmanızı sağlar.
Birleştirme: Bir dal cilalandığında, hatalar içermez (en azından bildiğiniz kadar) ve ana kod tabanının bir parçası olmaya hazır, ana dalda birleştirilecektir. Birleşme ne: iki şubeyi birbirine entegre etmek. Her yeni veya güncellenen kod, kod tabanının resmi parçası olacaktır. Birleşme noktasından dallanan herkes bu kodu dallarında da olacaktır. Klon: Repo’yu klonlama tam olarak ne gibi geliyor. Tüm çevrimiçi depoları alır ve tam olarak yerel makinenizde bir kopya oluşturur. Bunu birkaç nedenden dolayı yapmanız gerekiyor, birkaçı projenin ortasında yeni bir ekiple başlamıyor, iş istasyonları alışverişi veya hasarlı bir repodan tekrar başlıyor. Garpu: Forking, sadece klonlamaya çok benziyor, bunun yerine sadece Repo’dan kopya yapmanın yerel makinenizde olanları, kendi adınızla bu koddan tamamen yeni bir repo alırsınız. Bu özellik esas olarak mevcut kod tabanını almak için ve açık kaynaklı yazılımlarda birçoğu ortaya çıkan tamamen yeni bir yöne doğru kullanılır; Geliştirici başarılı bir temel fikir görüyor, ancak bunu farklı bir şekilde yapmak istiyor. Forking bunun olmasına izin verir. Kendi kişisel kum kutunuz gibi diğer geliştirici depolarında da oynayabilirsiniz. Ve sevilebileceğini düşündüğünüz bir şey yaparsanız, onu birleştirmek için bir gerilme isteği yapabilirsiniz.
Bir istek çizin: Çekme isteği, (şube veya çatal üzerinde) yaptığınız değişikliklerin ana depo şubesine geri çekilmesi (veya birleştirilmesi) için bir istek göndermenizdir. Bu büyük bir zaman. Mucize burada meydana gelir. Çekme isteği onaylanırsa, yazılıma resmi olarak katkıda bulunacaksınız ve GitHub sonsuza dek ne yaptığınızı gösterecektir. Ancak, gerilme talebi herhangi bir nedenle reddedilirse, kovucu talebin neden reddedildiği ve onu kabul etmek için neler yapabileceğiniz hakkında geri bildirim sağlayabilecek. Başlangıç ve gerekli komutlar çok kötü değil mi? Doğru. Şimdi git ne olduğu hakkında net bir fikriniz olduktan sonra, ellerinizi kazma ve kirletme zamanı. Bununla birlikte, GIT ile etkileşim kurmak için komut satırını kullandığınızı varsayacağım not almak için bu fırsatı almalıyım. Tabii ki bir müşterinin git grafikleri var (ve GitHub, web arayüzü aracılığıyla her şeyi yeterince yapmanıza izin veriyor), ancak bu erteleme için onlarla uğraşmayacağız. Terminal dışında bazı şeyler yapacaksınız, ancak komut satırı yeni BFF’niz olacak. Yani biz de yapacağımız şey bu.
Git Git (belki) nasıl yüklenir bilgisayarınıza yüklenmez, bu yüzden oraya yüklemeliyiz. Neyse ki, Linux, Mac veya Windows kullansanız da Git’i yüklemek çok kolaydır. Linux için, terminali açın ve sudo apt-get install git-sal yazın (Ubuntu kullanıyorsanız. Değilse, kullandığınız diğer dağıtımlar için tüm Linux paket kurulum komutlarının bir listesi vardır.) Windows’ta bu aynı basittir. . Kurulumu indirip çalıştırıyorsunuz. Mac’te yalnızca terminali açmanız ve Git yazmanız gerekir. Git yüklü değilse, şunu göreceksiniz: Yükle tıkladıktan sonra yapmaya hazırsınız. Bak? Çok kolay! Git’i kullanmak, zevk başladığı yerdir. Şimdi Git’i yüklediniz, zamanı … git-r-done! Hah! Ama bu gerçekten bu muhteşem komut satırının küçük kısmını kullanmaya başlamayı öğrenmenin zamanı geldi. Ve GitHub’ın yanı sıra hangi yer daha iyi? Bu yüzden gidip yeni GitHub hesabınızı kaydedin (veya zaten varsa giriş yapın, yakında sizinle birlikte olacağım). Kamu deposu için ücretsiz GitHub ve belirli bir fiyata kişisel bir depo alabilirsiniz. (FYI: Bitbucket’te daha az ünlü ama şaşırtıcı bir yer olan ücretsiz bir kişisel repo alabilirsiniz). Çoğu için, GitHub’daki ücretsiz seçenek çoğu insan için iyidir (ve yaşamın özgeçmişi gibi işlevler de vardır!), Ancak bazı müşteriler ve işverenler gizlilik ve güvenlik gerektirecektir, bu nedenle seçeneklere sahip olmak iyidir.
Bundan sonra, ilk deponuzu hazırlamaya hazırsınız! E -postanızı ve tüm bu eğlenceli şeyleri doğruladıktan sonra.
Github’daki depoyu ayarlamak isteyeceksiniz. Bilgisayarınızda yapabilir ve sonra yükleyebilirsiniz, ancak önce web’de yapmak daha kolaydır. Lisanslar hakkında endişelenmediğimi unutmayın. Bu gerçek yazılım olmadığı için, bunun için endişelenmem gerekmiyor, ancak üretim durumunda, Gitignore elbette repo dizininizdeki dosyaları görmezden gelmenize izin veriyor. Ve burada yazılımınıza hangi lisanslara ihtiyacınız olduğunu okuyabilirsiniz.
Ancak, proje için temel belgeleri saklamak için kullanmanız gereken ReadMe dosyasıyla repo başlattım. Çalışırken büyük değişiklikler, görev listeleri ve çeşitli notlar için bir izleyici olarak kullanma eğilimindeyim. Ama bu özel bir projede. Farklı takım liderlerinin farklı beklentileri olacaktır. Şimdi Repo GitHub’da, klonlama yoluyla yerel motorunuza getirme zamanı. Repo’nuzun sağında, dosya listesinin hemen üstünde, “klon veya indir” yazan yeşil düğmeyi göreceksiniz. Tıklayın ve şunu göreceksiniz:
Klonladığımız için, HTTP’lerle klonlama ile ilgili parçalar dışında her şeyi görmezden gelebiliriz. Hiçbir şey yapılandırmanıza gerek yok. Kullanıcı adınızı ve şifrenizi girmeniz gerekir. Ancak, her şeyden önce, repo’nuzun yerel makinenizde yaşamasını istediğiniz yere ayarlamanız gerekir. Terminalinizi açın. (Windows kullanıcıları, Windows PowerShell adlı bir programı arayın ve açın. Ayrıca “Yönetici Olarak Çalıştır” ı sağ tıklamanızı ve seçmenizi öneririm.) Öğrenmeniz gereken ilk komut LS’dir. Bu, geçerli dizindeki her şeyi içerecektir. Daha kolay hale getirmek için, geliştirici klasörümüzü ev bilgisayar dizininde canlı hale getirelim. Dev adında bir dizini oluşturmak için MKDIR Dev’i kullanabilirsiniz. Doğrudan yeterince, değil mi? Yine LS iseniz, yeni bir kayıtlı klasör göreceksiniz. O zaman dizinini değiştirmek için bir komut olan bir geliştirici CD’si kullanarak yeni dizininize geçmek istersiniz. Bak, komut satırı hiç korkutucu değil! Önceki dizine dönmeniz gerekiyorsa, CD’yi kullanabilirsiniz … Yeni geliştirici klasörünüzde bulunduktan sonra, o zaman bu parti başladı. Hehehe. GitHub’daki Yeşil “Klon veya İndir” düğmesine tıkladıktan sonra görünen URL’yi kopyalayarak başlayın. Bu şöyle görünecek: https://github.com/bjk1337/myfirstrepo.git Git deposunu GitHub’dan klonlamak için komut
Bundan sonra, terminaliniz GitHub’da ayarladığınız ReadMe dosyasını gösterir. Mutlu! Git’i ilk kez kullandınız ve şimdi gelişmeye başlamaya hazırsınız. Makinenizde bir repo aldıktan sonra şimdi kum gibi Nitty Gitty, kullanmayı öğrenmeniz gerekiyor. Öyleyse biraz hızlanalım ve harika bir proje üzerinde çalıştığınızı ve dizinde birkaç dosyanın olduğunu söyleyelim. Onları GitHub’a itme zamanı. Git deposuna ekleyin ve iletişim kurun
Git Bu durum, bir sonraki taahhüt için listeye hangi dosyaların eklenmediğini gösterecektir. Çoğu terminal uygulamasında, eklenmeyen/eklenmeyen dosyalar her biri kırmızı/yeşil olacaktır. Git ekle. – toplayarak . Komutun sonunda GIT’e dizinine her şeyi girmesini söylersiniz. Bir dosya eklemek istiyorsanız, dosya adını kullanın. Function.php gibi.Git Durumu – Dosyayı kullanıp kullanmadığınıza bağlıdır. Ya da dosya adı, eklediğiniz her şey şimdi yeşil olmalı.
Git taahhüt – -m “Üç boş dosya ekle” -Bu dosyaları ilettiğinizde, takım arkadaşlarınızın (veya gelecekte kendiniz) o komitede tam olarak ne olduğunu bilmesi için kısa bir mesaj bırakmanız gerekir. Standart GIT Sözleşmesi, mümkün olduğunca kısa ve mümkün olduğunca özel olmanız gerektiğini ve fiilden mevcut gerginliği kullanarak bir mesaj başlatmanız gerektiğini söylüyor.
Terminalinizde şimdi birçok metin olacak ve böyle görünmeli. Ama şimdi bunun ne anlama geldiğini biliyorsun!
GitHub gibi uzun bir mesafe git deposuna itmek, bundan daha kolay repo’ya iter. Git durumu – her zaman görünüşe bakmak ve doğru dalda olduğunuzdan emin olmalısınız.
Git Push GitHub için kullanıcı adınızı ve şifrenizi girin – Bilin, yazdığınızda bile şifre alanı boş kalacaktır. Önemli değil. Sadece yazın ve Enter tuşuna basın. SSH kullanırsanız, bu adımı geçeceksiniz.
GitHub hesabınıza gidebilir ve repo’yu kontrol edebilirsiniz ve dosyanız orada olacak, mesajı ve her şeyi taahhüt edecektir!
Dallanma ve birleştirme ile tanımanız gereken son iki komutun dallanması ve birleştirilmesi. Yukarıda söylediğim gibi, bir dalda çalışmak ana kod tabanını güvenli hale getirir ve değişiklikleriniz harika olduktan sonra her şeyi birleştirebilirsiniz. Biraz karmaşık olabilirler, bu yüzden onları iyi oynamaları için biraz cesaret gerektirebilir.
Git checkut -b “branch1” -Bu komut, başlık verdiğiniz ve size çalışma şubeniz olarak değiştirdiğiniz yeni bir şube oluşturacaktır. Git ödeme ve git dalı komutunu pratik bir kod satırında birleştirir.
Touch awesome.html – Bu, tekrar bir ustalıkla birleştireceğim yeni bir HTML dosyası oluşturmak için bir dolgu komutudur.
Ve daha önce olduğu gibi, Git Durumu yapacaksınız, git awess.html ekle, git taahhüt -m “awesome.html yarat” Git durumu tekrar her şeyin olması gerektiği gibi olduğunu görmenize izin verecektir.
Katılmadan önce itmeye çalışırsanız, Repo’nun kökenini ayarlamanız gereken bir mesaj alırsınız. Origin, bilgisayarınızın uzun mesafeli bir repo olarak kabul edildiği için garip bir adlandırma konvansiyonudur. Temel olarak, sadece bunu söylüyorsunuz, evet, bu şubeyi Üstat’ın yaptığı gibi GitHub’a itmek sorun değil. Bu, Stack Overflow’dan Git Origin hakkında iyi bir UTA’lar. Kaçarak, bunun Branch1 -> Branch1’e gittiğini söyleyecektir. Git ödeme masteriyle ana dalına geri dönebilirsiniz (bu sefer ödeme yok -B -B yok, çünkü sadece yeni şubelerde kullanıyorsunuz, değil Değişimi. Komuta aşağıdaki ekran görüntüsünde karıştırıldı ve Git Branch Master’ı deneyin. Üstat zaten var olduğu için işe yaramıyor.
Git Durumu – Her zamanki gibi.
Git Birleştirme Şubesi1, çünkü şubedeki her şey yolunda, devam edip birleştirebiliriz. Durumu tekrar alırsak, 1 taahhütle menşe/ustanın önünde olduğumuzu göreceğiz. Bu, GitHub’da yaptığımız tüm değişiklikleri teşvik etmediğimiz anlamına geliyor. Git her şeyi senkronize etmek için itin!
Github hesabınızı kontrol edin – orada yaptığınız her şeyi göreceksiniz. Farklı taahhüt mesajları, yaptığımız şube ve taahhütlerin yanı sıra Repo’ya katkıda bulunanlar ve ne yaptıklarını görebilirsiniz.